• ベストアンサー

割り込み処理について

割り込み処理について 初心者です。 AVRマイコンの割り込み処理について質問させて頂きます。 INT0割り込みルーチンの途中で、条件1により割り込み発生元(メインルーチン)に復帰させてたいのですが、下記のソースに何か問題はございますか? ISR(INT0_vect,ISR_NOBLOCK) {     int0割り込み禁止          条件1         return;     処理1          条件2         return;     処理2 } よろしくお願い致します。

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

  • ベストアンサー
  • R32C
  • ベストアンサー率39% (115/290)
回答No.2

Cコンパイラがどれだけやってくれるかによると思います。 割込みハンドラから戻る場合はアセンブリ言語の命令でreti でなければ ならないですが、return文でretiになるかアセンブリリスト等で 確認すればよいと思います。

ron_nast
質問者

お礼

ご回答ありがとうございました。 参考にさせて頂きます。

その他の回答 (1)

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

・int0の割り込み許可処理の場所 ・割り込み要求フラグが立ったまま抜けたら即座に再度割り込みルーチンに入ってしまわないか という辺りを考慮した上で、後処理をきっちり行えば特に問題は起こらないと思いますが。

ron_nast
質問者

お礼

ご回答ありがとうございました。 参考にさせて頂きます。