红外线遥控试验为确保可靠性地址和命令2次传输怎么改成一次传输的

2019-07-20 21:54发布

我现在需要红外线接收地址和命令一次传输,怎么样修改还请大神们给出你们的经验和宝贵的意见。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
正点原子
1楼-- · 2019-07-20 23:30
无法修改。这是协议规定的,除非你自己重新做协议,发送和接收都按你自己的协议来设计
031441229
2楼-- · 2019-07-21 02:38
 精彩回答 2  元偷偷看……
frankzhan
3楼-- · 2019-07-21 03:58
031441229 发表于 2016-5-14 08:18
我也遇到这个问题,按一下会取两次键值

知道怎么修改改成每次接收一次键值吗
031441229
4楼-- · 2019-07-21 08:49
我解决了这个问题,修改代码如下:
u8 Remote_Scan(void)
{        
        u8 sta=0;      
    u8 t1,t2;
        if(RmtSta&(1<<6))//得到一个按键的所有信息了
        {
            t1=RmtRec>>24;                        //得到地址码
            t2=(RmtRec>>16)&0xff;        //得到地址反码
            if((t1==(u8)~t2)&&t1==REMOTE_ID)//检验遥控识别码(ID)及地址
            {
                t1=RmtRec>>8;
                t2=RmtRec;        
                if(t1==(u8)~t2)sta=t1;//键值正确         
                }   
                if((sta==0)||((RmtSta&0X80)==0))//按键数据错误/遥控已经没有按下了
                {
                         RmtSta&=~(1<<6);//清除接收到有效按键标识
                        RmtCnt=0;                //清除按键次数计数器
                }
        }
if(RmtCnt==1)       
    return sta;
else
        return 0;
}
快夸本宝宝
frankzhan
5楼-- · 2019-07-21 09:14
031441229 发表于 2016-5-14 15:50
我解决了这个问题,修改代码如下:
u8 Remote_Scan(void)
{        

我来试试哈
frankzhan
6楼-- · 2019-07-21 13:50
 精彩回答 2  元偷偷看……

一周热门 更多>