--「PIC」プログラミング再び (21)---

 ===AD変換後の割り込み===
 また、また、はまりました。
 ステッピングモーターのコントローラーは、一応完成しましたが、
 
 ステッピングモーターの速度の可変がスムーズにいかないの
 で、再度、PWMでのパルス発生とAD変換の組み合わせで、
 プログラムの変更を試みてます。
 諸兄のHPには、AD変換後、割り込みを発生できるとありますが、
   ADIF = 0;//AD割り込みフラグクリアー
   ADIE = 1;//AD割り込み許可
   GIE= 1;//割り込み全体の許可
 の記述をしても、AD変換後の割り込みが発生しません。
 ヘッダーファイルを眺めたり、ネットで検索しまっくりました。
 約一日あれこれやりましたが、やっとヒットしました。

 ここに、その記述がありました。

 

 なんと、周辺機器の割り込みの許可もしないと、AD変換後
 の割り込みをしないんだそうです。
   ADIF = 0;//AD割り込みフラグクリアー
   ADIE = 1;//AD割り込み許可
   PEIE=1;//周辺機器の割り込み許可
   GIE= 1;//割り込み全体の許可
 赤の周辺機器の割り込みの許可を記述すると、すんなり、割り込み
 発生。
 割り込みのロジック図を見るとすぐ分かったんですね。今まで
 見方がわかりませんでした。

 

 ロジック図を見ると、AD割り込みは、PEIE割り込みの下部にあり
 ますので、PEIEの許可が必要なことがわかります。