INT1的外部中断函数如下;
void int1_break() interrupt 2
{
TR1=1;
count=0;
counter=0;
while(1)
{
display(counter);
if(INT1==1)
{
IE1=0;
}
}
}
当执行到11行“IE1=0”时为何不会跳出中断函数?
当在第11hang后加“break;”时已经证实则可退出中断函数,而不加“break;”时则不可,这是为何?
求解答!
------解决思路----------------------
while(1)是死循环呀,不加break当然无法跳出。
------解决思路----------------------
执行完才会跳出整个函数 和IE=0无关
------解决思路----------------------
自己进的中断,跪着也要跑完。
------解决思路----------------------
有while.死在里面了