[H8-ML(2566)] Re: 多重割り込みが上手くいきませんが..?
From: hamayan <hamayan@xxxxxxxxxxxxxxx>
Date: 2002年12月13日(金)09時06分12秒
お世話になっています。hamayan です。

"wathavy@xxxxxxxxxxxxxxxx"> #別ないいかたをします。(蛇足、蛇足)
"wathavy@xxxxxxxxxxxxxxxx"> 割り込み二種類があります。
"wathavy@xxxxxxxxxxxxxxxx"> 割り込みA,Bです。
"wathavy@xxxxxxxxxxxxxxxx"> Aが動作中にBを割り込ませるばあい、
"wathavy@xxxxxxxxxxxxxxxx"> Aの処理が始まったら、絶対にAへの割り込み許可フラグは
"wathavy@xxxxxxxxxxxxxxxx"> リセットして、割り込みを動作しないようにしましょう!
"wathavy@xxxxxxxxxxxxxxxx"> さもないと、Bが終了したあと、Aの処理分岐箇所に戻る代わりに、
"wathavy@xxxxxxxxxxxxxxxx"> なんと、Aがあたかも今割り込まれて実行してるかのように
"wathavy@xxxxxxxxxxxxxxxx"> 振舞い、先頭から処理が再開されて、ややこしいっすよ。

どっちかと言うと、ハードウエア内部の話しで資料が無いので推測ですが、
割り込みコントローラーでは、同レベルの割り込み要求は、論理的ORとし
、そのOR出力の変化で割り込みを検出しているんじゃないかと。
ですから、CCRレジスタだけではなく、実際は割り込みコントローラでも、
結果的に割り込み受付の排他処理が行われている様に感じます。
なお、この現象が発生するのは、割り込みの受付段階、優先度の判定の段階
ではなく、割り込み処理のプログラムが稼動している時に、多重割り込みに
なった時に発生する現象かと。もっとクリティカルな状態も有りそうですが。

つまり、同レベルの多重割り込みをするには、割り込み処理の先頭で、割り
込み条件のクリアをしないと、どうにもこうにも行かないんじゃあ?

一番最初の始まりの投稿でも、0.1mの割り込みの方が優先度が高いのに、
5mの割り込みの後回しにされている様だ、と書かれていますしね。

割り込み要求の論理ORって、自分で割り込みコントローラーを作成しても
やっちゃうなあ!って思っています。

H8の割り込みにおいては、割り込み処理に入ったら、即座に割り込み条件
のクリアが、暗黙の了解だったりして。<−根拠無し。

また、やっちゃたかな。

------------------------------------------------------------
)^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^()^o^(
☆☆☆☆☆☆☆☆☆☆☆☆designed by hamayan☆☆☆☆☆☆☆☆☆
from はまやん
アドレスは
	hamayan@xxxxxxxxxxxxxxxx
★★★★★★★★★end of message and thank you★★★★★★★
スレッド概略
[表示中](起点)
 └[2568(1)]


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


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