永发信息网

为啥中断函数没法返回

答案:2  悬赏:0  手机版
解决时间 2021-04-28 20:17
  • 提问者网友:谁的错
  • 2021-04-28 02:03

void IR_IN() interrupt 0
{
uchar i,j,k;
uchar count;
EA=0;
I1: for(k=0;k<4;k++)
{
if(IR1302==0) break;
if(k==3){EA=1;return;}

}
delayms(25);
if(IR1302==1)
goto I1;
while(!IR1302);
for(i=0;i<4;i++)
{
for(j=0;j<8;j++)
{
while(IR1302);
while(!IR1302);
while(IR1302)
{
delayms(1);
count++;
if(count>=30)
{
EA=1;
return; //这个地方的return为啥 退不出去直接就是从函数第一行开始运行了
}

}
table[i]>>=1;
if(count>=8){table[i]=table[i]|0x80;}
count=0;
}
}
if(table[2]!=~table[3]) {EA=1;return;}
EA=1;
} //这个地方也退不出去 也是从函数的第一行运行了

这是咋回事呀

最佳答案
  • 五星知识达人网友:时间的尘埃
  • 2021-04-28 02:38

return 的意思就是 立即退出当前函数


你return了当然是又跑进主函数去了

全部回答
  • 1楼网友:蕴藏春秋
  • 2021-04-28 03:03
你这个是几号中断嘛
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯