关于红外的发送和接收

2019-08-16 21:39发布

开发指南上说,发送是按照低位在前,高位在后的顺序发送的
举个例子: 如果发送端想发送的数据是00000001,然后呢 带载波的信号控制码就是这个顺序10000000(发送的时候是低位先发送)但是历程中
if(Dval>300&&Dval<800)                        //560为标准值,560us
                                        {
                                                RmtRec<<=1;                                        //左移一位.
                                                RmtRec|=0;                                        //接收到0          
                                        }else if(Dval>1400&&Dval<1800)        //1680为标准值,1680us
                                        {
                                                RmtRec<<=1;                                        //左移一位.
                                                RmtRec|=1;                                        //接收到1



历程中是左移,把先收到的信号放在了最高位,所以也就是收到的数据是10000000,和发送端要发送的数据不是一个。。这是什么情况
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
正点原子
1楼-- · 2019-08-16 22:30
这个例程里面,是反了一下的。你可以修改代码。
stm32f103ZE
2楼-- · 2019-08-17 00:24
正点原子 发表于 2017-6-30 22:11
这个例程里面,是反了一下的。你可以修改代码。

反了一下是什么意思?是代码有问题?代码有问题那为什么程序能正常跑啊,,
好好学习吧
3楼-- · 2019-08-17 06:20
 精彩回答 2  元偷偷看……

一周热门 更多>