找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1485|回复: 4
打印 上一主题 下一主题
收起左侧

关于学习型接收模块问题

[复制链接]
跳转到指定楼层
楼主
50黑币
遥控器学习的时候只需要按任意一个按键就可以匹配其他4个按键的码,它这4个码之间难道有规律吗?

92001AD29CE7FF06F19A8F9B67EADF51.png (72.51 KB, 下载次数: 58)

92001AD29CE7FF06F19A8F9B67EADF51.png

最佳答案

查看完整内容

//+++++++++++++++++++++++++2262与1527数据分离处理++++++++++++++++++++++++++++++++++++++++ if((da1527[0][0]==da1527[1][0]) && (da1527[0][1]==da1527[1][1]) && (da1527[0][2]==da1527[1][2])) //两次接收到的数据相同 { uchar u,i,x; rf_ok=1; ...
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:595237 发表于 2020-5-8 20:04 | 只看该作者
//+++++++++++++++++++++++++2262与1527数据分离处理++++++++++++++++++++++++++++++++++++++++            
                         if((da1527[0][0]==da1527[1][0]) && (da1527[0][1]==da1527[1][1]) && (da1527[0][2]==da1527[1][2]))        //两次接收到的数据相同
                      {         
                     uchar u,i,x;
                                         rf_ok=1;
                                         for(i=0;i<3;i++)  //判定2262与1527
                        {
                           for(u=0;u<4;u++) {if(((da1527[0][i]>>(u*2)) & 3)==2) {i=80;break;}}  //有10则为1527
                                                   if(i==80) break;
                        }
                     if(i==80)  //1527
                        {
                          key_d=da1527[1][2] & 0x0f;         //分出1527的按键值
                          da1527[0][2]=da1527[1][2]>>4; //分出1527的后4位地址
                                                  jmnx=1;         //为0是2262,1是1527
                        }
                       else      //2262
                         {
                          key_d=0;
                          for(i=0;i<4;i++){if(((da1527[0][2]>>(i*2))&3)==3) key_d|=1<<i;}   //计算出2262的按键数据                                 
                          da1527[0][2]=00; //2262无后4位地址,全为0
                                                  jmnx=0;         //为0是2262,1是1527
                         }
                                                  
                                          if (!study)                //非学习状态
                                                  {
                                                        rf_ok=0;
                                                        for(x=0;x<60;x++)
                                                                   {
                                                                        if((da1527[0][0]==key_number[x*3+1])&&(da1527[0][1]==key_number[x*3+2])
                                                                                                                                        &&(da1527[0][2]==key_number[x*3+3]))//判断是否已学习过的编码
                                                                                {
                                                        D0=key_d&0x08;                //取得按键码
                                                            D0=key_d&0x04;              //取得按键码
                                                                 D0=key_d&0x02;               //取得按键码   
                                                                           D0=key_d&0x01;     //取得按键码
回复

使用道具 举报

板凳
ID:548551 发表于 2020-5-8 22:00 | 只看该作者
433模块?
回复

使用道具 举报

地板
ID:747331 发表于 2020-5-9 00:31 | 只看该作者
各种遥控器有固定编码格式,学习一个按键就知道对应的编码格式,其它按键值都是固定的值。
回复

使用道具 举报

5#
ID:741674 发表于 2020-5-9 15:46 | 只看该作者
学习本质就是学编码方式,例如2262,1527编码,再扣重点说就是存储发射器的地址码,具体的按键需要逐个具体学习
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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