質問: 0){ LED1=1; LED2=1; LED3=1; } } ```
回答: forを入れるとタイマ割り込みが行われなくなるんではなくて、タイマ割り込みでフラグがセットされても、そのforループが終わらないとつけっぱの処理が走らないだけ、です。 で、提示のコードではタイマ割り込みはなんの処理もしてませんね ``` void interrupt isr(){ if(TMR1IF == 1){ flag=(SW!=0); TMR1IF = 0; } GIE = 1; // この行いらないかも } // メインループ while(1){ if(flag ==0){ LED(); } else{ LED1=1; LED2=1; LED3=1; } } ``` こんなもんですかねー #割り込みルーチン省略しすぎたので修正