• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:pic 16f84a割り込み処理について)

pic 16f84a割り込み処理について

このQ&Aのポイント
  • pic 16f84aで電球の明るさをフェードインフェードアウトさせる回路を製作しています。
  • インターバルタイマを使用し、10msecのタイミングでタイマを再セットしています。
  • ゼロクロスパルスの割り込みをRB0への入力から発生させ、10msec毎に処理を行っています。

質問者が選んだベストアンサー

  • ベストアンサー
  • don_cha
  • ベストアンサー率34% (139/407)
回答No.1

インターバルタイマ割り込みの処理は問題なさそうですが、ゼロクロスパルス割り込み処理内においてのdelay処理に問題ありです。 割り込み内の処理では、必要最小限の処理だけにしないと、懸念されている問題は必ず発生します。(割り込み中に割り込みが発生しないなど) ゼロクロスパルスの処理自体はメイン関数内の処理で行うようにして、割り込みルーチンでは、ゼロクロスパルスの割り込みが入った事を示すフラグをセットするというような簡単な処理にするべきです。(排他制御を行いインターバルタイマ処理とゼロクロスパルス処理を別々のタスクで動かすと楽でしょう) それでも、2つの処理の合計時間は10msec以内に終わらないと、このシステム構想自体が崩壊します。

kassel
質問者

お礼

ご回答、大変おそくなり、申し訳ございません! >割り込みルーチンでは、ゼロクロスパルスの割り込みが入った事を示すフラグをセットするというような簡単な処理にするべきです。 なるほど、そうですね。ほとんどの参考資料でそうなっています! >それでも、2つの処理の合計時間は10msec以内に終わらないと、このシステム構想自体が崩壊します。 そこは、まだ検証できていません。。 とりあえず、ここからまた始めようとおもいます。 ありがとうございました!

関連するQ&A