[H8-ML(4719)] Re: ■解決、でもなぜ?■入力Hiの時間の測定
From: Shigeru Makino <mac@xxxxxxxxxxxxxx>
Date: 2004年04月30日(金)16時24分15秒
macです。

"Takao Furumori" さん <takao.furumori@xxxxxxxxxxxxxxxx> wrote:

> それから、内容によっては違いますが、一般的には
> 割り込みフラグのクリアータイミングは、割り込みルーチンの
> 最後に記述します。

済みませんが、この理由を教えていただけますか?

割り込みフラグのクリアーは、
割り込み処理の最初に書かないと、
その処理中に再び同じベクターに、
割り込みがあったとき、
取りこぼす要因になると思います。

デメリットは思いつきますが、
どんなメリットがあるのか、
具体例を挙げていただけますでしょうか?

私は、最初に割り込みフラグをクリアーし、
処理終了直前で、念のためフラグをチェックし、
もし処理中に、もう一度イベントが発生していたなら、
リターンしないで、もう一回頭に戻って、
処理するようにして割り込みのオーバーヘッドを、
軽減しています。

while(interrupt_flag) {
	clear interrupt_flag
	割り込み処理
}
return;

という形式ですね。
これで万一、ずーっとループして戻れないなら、
明らかに処理速度が不足しているわけで、
もっと速いCPUにするか、処理に無駄がないか、
見直すか、PIC等でサブシステムを作り、
「外注」するか…

-- mac

スレッド概略
[4710(R)](起点)
 └[4718(U)]
   └[表示中]
     └[4720(1)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]