[STC单片机] 【红外遥控NEC码学习】请各位帮忙看一下

[复制链接]
1318|3
 楼主| 970253146 发表于 2015-8-16 16:16 | 显示全部楼层 |阅读模式
红外nec码一般引导码是9ms高电平加4ms左右的低电平。那在学习子程序里面应该将这个高电平和低电平的时间记录下来才对。但我在一些资料上看到,别人的程序是只记录引导码低电平的时间,但并没有对高电平的时间进行记录。因此我不理解为什么不将高电平的时间也记录下来。我看了好几份资料,都是这样子的,没有对引导码的高电平时间进行处理,但对低电平却有。但是也有的资料是将引导码高低电平的时间都分别记录下来的。请了解的朋友帮帮忙解答一下,谢谢
while(remotein==1);           //
等待遥控码输入
head=0;
这个部分是检测引导码高电平的输入的,那应该将引导码高电平持续的时间保存下来才对啊。但这里并没有进行这样的操作,然后引导码低电平部分却进行了计时。这是为什么呢?








以下的是学习子程序对引导码学习的部分
void intt0(void) interrupt 0  
{
ET1=0;TR1=0;EX0=0;EA=0;
head=0;studylamp=1;lamp=0;
while(studykey==0);           //
等待键释放

while(remotein==1);           //
等待遥控码输入

head=0;                       //
读入起始位

while(remotein==0){_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_n
op_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_()
;head++;}
n=0;remdata=0x0000;

643757107 发表于 2015-8-16 22:52 | 显示全部楼层
关键是不能用,你不要想太多。
Txapp 发表于 2015-8-30 12:41 来自手机 | 显示全部楼层
while等待的很ugly code
西门扫雪 发表于 2015-8-30 15:22 | 显示全部楼层
while的用for或者if换掉吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

93

主题

289

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部