ひやしたです。 > 0.1msecのITU0コンペアマッチ割り込み(優先)と 5msecのITU1コンペアマッチ割 >り込みを使って制御プログラムを開発していますが、ITU1の割り込みの途中でEIを行 >うとプログラムがおかしな動き?になってしまいます。 > EIを入れなければ正しく動くのですが、ITU1の割り込み終了までITU0の割り込み処 >理が待たされてしまい、制御が上手く行えないのです。 参考になるかどうかわかりませんが、以前IRQ割り込みの処理が長くかかるときに SCIの取りこぼしがあり、そのときに書いたコードです。 最終的にはITRONを導入してクリアしたので、もしかしたら 検証に問題があったかもしれないのですが、この時点では確か動いていたはず。 但しプロセッサは3067、開発環境はイエローソフトです。 ハードウェアの初期化云々をやるルーチンで −−−−−−−−−−−−−−−−−−−−−−−−− // この時点ではCCRのIビットはセット、UIは不定 #asm ORC.B #H'C0, CCR ; 全割り込み禁止 SYSCR &= ~0x08; // UIビットをマスクビットとして使用 INTC.IER |= 0x10; // IRQ4を許可 INTC.IPRB = 0x0E; // SCI0,1,2 の割り込み優先順位を上げる #asm ANDC.B #H'3F, CCR ; 全割り込み許可 −−−−−−−−−−−−−−−−−−−−−−−−−− てなことをやりまして、 /************************************************************************* IRQ4割り込み **************************************************************************/ void interrupt irq4() { INTC.ISR &= ~0x10; #asm ANDC.B #H'BF, CCR ;レベル1割り込みを許可 nagai_syori(); //長い処理 } とにかく、H8の多重割り込みの解説を何度も読み返した記憶があります・・・。