管理员
  
- 积分
- 165540
- 金钱
- 165540
- 注册时间
- 2010-12-1
- 在线时间
- 2117 小时
|
发表于 2012-8-5 10:53:39
|
显示全部楼层
会有影响的.
请看remote.c里面的这个函数:
//外部中断服务程序
void EXTI1_IRQHandler(void)
{
u8 res=0;
u8 OK=0;
u8 RODATA=0;
u32 temp;
temp=AFIO->EXTICR[0];
temp=(temp>>4)&0XF;
if(temp==2)Pen_Point.Key_Sta=Key_Down;//按键按下
else//红外模式
{
while(1)
{
if(RDATA)//有高脉冲出现
{
res=Pulse_Width_Check();//获得此次高脉冲宽度
if(res==250)break;//非有用信号
if(res>=200&&res<250)OK=1; //获得前导位(4.5ms)
else if(res>=85&&res<200) //按键次数加一(2ms)
{
Remote_Rdy=1;//接受到数据
Remote_Cnt++;//按键次数增加
break;
}
else if(res>=50&&res<85)RODATA=1;//1.5ms
else if(res>=10&&res<50)RODATA=0;//500us
if(OK)
{
Remote_Odr<<=1;
Remote_Odr+=RODATA;
Remote_Cnt=0; //按键次数清零
}
}
}
}
EXTI-> R=1<<1; //清除中断标志位
} |
|