普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 3545|回复: 5

红外NEC通讯协议的9ms、4.5ms延迟等待为什么是这样写的?

 关闭 [复制链接]

2

主题

17

帖子

99

积分

注册会员

Rank: 2

积分
99
发表于 2017-9-25 21:39:53 | 显示全部楼层 |阅读模式
麻烦各位大神给我解惑一下,参考程序中
while((IRIN==0)&&(err>0))        //等待前面9ms的低电平过去                  
                {                        
                        delay(1);
                        err--;
                }
                if(IRIN==1)                        //如果正确等到9ms低电平
                {
                        err=500;
                        while((IRIN==1)&&(err>0))                 //等待4.5ms的起始高电平过去
                        {
                                delay(1);
                                err--;
                        }
回复

使用道具 举报

2

主题

17

帖子

99

积分

注册会员

Rank: 2

积分
99
 楼主| 发表于 2017-9-25 21:45:06 | 显示全部楼层
不太会发帖,问题没说清楚请见谅。等待9ms低电平过去和4.5ms高电平过去,比如等待9ms低电平过程时,IRIN在不到9ms的时候就变成高电平。那这就是一个错误的信号。但是在程序中程序会跳过while继续执行。所以为什么要这么写呢?
回复 支持 反对

使用道具 举报

15

主题

196

帖子

503

积分

高级会员

Rank: 4

积分
503
发表于 2017-9-25 22:46:02 | 显示全部楼层
zhoulu211 发表于 2017-9-25 21:45
不太会发帖,问题没说清楚请见谅。等待9ms低电平过去和4.5ms高电平过去,比如等待9ms低电平过程时,IRIN在 ...

while((IRIN==0)&&(err>0))        //等待前面9ms的低电平过去                  
这句话之前 err怎么定义的?                                    
回复 支持 反对

使用道具 举报

2

主题

17

帖子

99

积分

注册会员

Rank: 2

积分
99
 楼主| 发表于 2017-9-25 23:07:31 | 显示全部楼层
xzf586 发表于 2017-9-25 22:46
while((IRIN==0)&&(err>0))        //等待前面9ms的低电平过去                  
这句话之前 err怎么定 ...

第一个9ms等待时赋值err=1000,用来防止程序一直死在这里。超时过后就自动跳出这个while循环执行下一步。
回复 支持 反对

使用道具 举报

20

主题

1344

帖子

8381

积分

论坛元老

Rank: 8Rank: 8

积分
8381
发表于 2017-9-26 08:34:48 | 显示全部楼层
看看我的程序吧。
普中的例程,有时候是看不懂的,就比如这个红外的延时。
但我自己做了一个,时间非常明确的。
http://www.prechin.net/forum.php?mod=viewthread&tid=1577
回复 支持 反对

使用道具 举报

1

主题

36

帖子

136

积分

注册会员

Rank: 2

积分
136
发表于 2017-9-26 17:15:31 | 显示全部楼层
你所要做的就是把时序看懂。这个模块采用的是PPM方式,对时间的要求相对严格一些。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-4-27 09:04 , Processed in 0.105337 second(s), 30 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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