[H8-ML(2549)] Re: 多重割り込みが上手くいきませんが..?
From: フルー <ta_ka@xxxxxxxxxxxxxxxx>
Date: 2002年12月12日(木)10時01分47秒
こんにちは。

> I/Oポートに割り込み処理の最初と最後に1/0を出力するようにして、オシロで確認し
> ました。 最初の5msecの割り込み処理中に、0.1msecの割り込みが入ると0.1msec割
> り込み終了後元の5msecのプログラムに戻っていないようです。 それでも0.1msecの
> 割り込みは続いています。 感ですが、何かスタックがおかしくなったようです。
だめですか。
ではやはり、EIとDIですかね〜?
H8/3048は3レベルの多重割り込みがサポートされてますので、
5msecの割り込みを一番優先順位の低い物に設定して、
5msecの割り込みの頭で、多重割り込みの許可を入れるのが
通常かもしれません。
コンディションコードレジスタ(CCR)のIビットとUIビットの部分と
ご使用の環境のEIとDIがどの様に関係しているかが問題です。

ちなみに、日立純正のコンパイラでは
割り込み開始は
set_imask_ccr(0);(CCRのIビットに0をセット)
割り込み処理中に多重割り込みさせる場合は、
and_ccr(0xbf);(CCRのUIビットを0に設定)
割り込み禁止は
set_imask_ccr(1);(CCRのIビットに1をセット)
っと私は書いています。

-- 
フルー
<ta_ka@xxxxxxxxxxxxxxxx>

スレッド概略
[2526(R)](起点)
 └[2546(U)]
   └[表示中]


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


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