红外解码程序

2019-07-15 14:07发布

void IR_IN() interrupt 0 using 0 //外部中断INT0函数
{unsigned char j,k,n=0;        EX0=0;        //暂时先关中断
delay(20);                                    //延时0.10ms*20=2ms
if(IRIN==1)         //如果IRIN出现高电平,是干扰信号
{EX0=1;            // 允许外部中断INT0中断
return;      //返回                 
}
......
为什么一开始要判断2ms。2ms是争对什么设置的,为什么?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
舞夜流浪者
1楼-- · 2019-07-15 17:20
检测引导码,如果超过了2ms还能检测到低电平,就说明检测到了引导码,可以进行解码操作! 最佳答案
1359962849
2楼-- · 2019-07-15 22:55
 精彩回答 2  元偷偷看……
林光光
3楼-- · 2019-07-16 02:49
用来判断是否存在干扰信号,最后返回一个信号来表明
舞夜流浪者
4楼-- · 2019-07-16 08:22
我之前做这个解码的时候,把延时定在了8ms,我认为延时时间应该大于4.5ms但一定要小于9ms。这样解码正确率会高一点!

一周热门 更多>