こんにちは。 > 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>