找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

单片机红外中断程序不 能正常返回

[复制链接]
admin 发表于 2012-9-2 21:54:45 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
/*-------------------------------------------
外部中断函数
-------------------------------------------*/
void IR_IN() interrupt 0
{
uchar j,k,i,N=0;
EA=0;
T1: for(k=0;k<4;k++)
{
if(IR1302==0) break;
if(k==3){EA=1;return;}

}
delayms(20);
if(IR1302==1)
goto T1;
while(!IR1302);
for(i=0;i<4;i++)
{
for(j=0;j<8;j++)
{
while(IR1302);
while(!IR1302);
while(IR1302)
{
delayms(1);
N++;
if(N>=30)
{
EA=1;
return;
}

}
table[i]>>=1;
if(N>=8){table[i]=table[i]|0x80;}
N=0;
}
}
if(table[2]!=~table[3]) {EA=1;return;}
EA=1;
}
我这个程序是红外解码中断程序 下降沿 tc9012 但是只能解码一次 第二次解码这个程序就死了
我软件仿真发现 中断的程序就第一次解码后又会返回道中断函数的开头重新执行这是为啥呢 我也没有找出问题来
谢谢大家了
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-29 11:59 , Processed in 0.047840 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表