OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3887|回复: 3

原子大哥,关于红外遥控的一点点小疑问

[复制链接]

12

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2014-10-23
在线时间
0 小时
发表于 2015-4-16 07:56:22 | 显示全部楼层 |阅读模式
5金钱
在红外遥控试验中原子哥的教程里面说,发送数据的时候是高位在前,低位在后,那么这样接收到的数据是不是需要转换一下呢?但是原子哥的接收代码里面貌似没有进行转换啊


接收代码:
[mw_shl_code=c,true] if(Dval>300&&Dval<800) //560??±ê×???,560us { RmtRec<<=1; //左移动一位,接受0 RmtRec|=0; // }else if(Dval>1400&&Dval<1800) //1680??±ê×???,1680us { RmtRec<<=1; //左移一位,接受0 RmtRec|=1; // }else if(Dval>2200&&Dval<2600) //????°??ü?ü???????????? 2500??±ê×???2.5ms { RmtCnt++; //°??ü????????1?? RmtSta&=0XF0; //???????±?÷ [/mw_shl_code]

最佳答案

查看完整内容[请看2#楼]

回复【2楼】zhoupan: --------------------------------- 是的,我的想法和你的相同。 不过这对红外解码没有影响,只是在程序判断的时候要做一定的调整。 比如说遥控器发过来的是0x01,用原子的程序解出来的是0x80,我们在程序判断的时候用if(key==0x80)就行了,而不能用if(key==0x01)。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

34

主题

805

帖子

4

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1865
金钱
1865
注册时间
2011-3-29
在线时间
140 小时
发表于 2015-4-16 07:56:23 | 显示全部楼层
回复【2楼】zhoupan:
---------------------------------
是的,我的想法和你的相同。

不过这对红外解码没有影响,只是在程序判断的时候要做一定的调整。
比如说遥控器发过来的是0x01,用原子的程序解出来的是0x80,我们在程序判断的时候用if(key==0x80)就行了,而不能用if(key==0x01)。
业余程序玩家。
回复

使用道具 举报

12

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2014-10-23
在线时间
0 小时
 楼主| 发表于 2015-4-16 10:18:17 | 显示全部楼层
怎么没有人啊,是我没描述清楚么?
我的意思就是,既然数据输出是低位在前,但是我们接受数据的时候每次都左移一位,这样不是将低位和高位数据颠倒了吗???
回复

使用道具 举报

12

主题

38

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2014-10-23
在线时间
0 小时
 楼主| 发表于 2015-4-16 19:49:27 | 显示全部楼层
回复【3楼】ofourme:
---------------------------------
我也是这样想的,就是颠倒一下而已!谢谢你
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-23 18:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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