macです。 "Takao Furumori" さん <takao.furumori@xxxxxxxxxxxxxxxx> wrote: > それから、内容によっては違いますが、一般的には > 割り込みフラグのクリアータイミングは、割り込みルーチンの > 最後に記述します。 済みませんが、この理由を教えていただけますか? 割り込みフラグのクリアーは、 割り込み処理の最初に書かないと、 その処理中に再び同じベクターに、 割り込みがあったとき、 取りこぼす要因になると思います。 デメリットは思いつきますが、 どんなメリットがあるのか、 具体例を挙げていただけますでしょうか? 私は、最初に割り込みフラグをクリアーし、 処理終了直前で、念のためフラグをチェックし、 もし処理中に、もう一度イベントが発生していたなら、 リターンしないで、もう一回頭に戻って、 処理するようにして割り込みのオーバーヘッドを、 軽減しています。 while(interrupt_flag) { clear interrupt_flag 割り込み処理 } return; という形式ですね。 これで万一、ずーっとループして戻れないなら、 明らかに処理速度が不足しているわけで、 もっと速いCPUにするか、処理に無駄がないか、 見直すか、PIC等でサブシステムを作り、 「外注」するか… -- mac