本帖最后由 472666GAQ 于 2009-10-15 19:21 编辑
/*-------------------------------------------
外部中断函数
-------------------------------------------*/
void IR_IN() interrupt 0
{
uchar j,k,i,N=0;
EA=0;
for(k=0;k<20;k++)
{
if(IR1302==0) break;
}
delayms(50);
if(IR1302!=0)
return;
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>>=1;
if(N>=8){table=table|0x80;}
N=0;
}
}
if(table[2]!=~table[3]) {EA=1;return;}
EA=1;
}
这个中断函数是tc9012的解码中断函数 下降沿有效 但是return不能正常的退出函数
后来我用goto代替了return 编译了一下接着有用return代替goto编译了一下 程序居然好了 然后把电脑关了再打开编译器吧程序重新编译了 然后程序就不好使了只能结一次码return退不出去了 |