标题:
关于学习型接收模块问题
[打印本页]
作者:
as21cxz
时间:
2020-5-8 20:04
标题:
关于学习型接收模块问题
遥控器学习的时候只需要按任意一个按键就可以匹配其他4个按键的码,它这4个码之间难道有规律吗?
92001AD29CE7FF06F19A8F9B67EADF51.png
(72.51 KB, 下载次数: 92)
下载附件
2020-5-8 20:00 上传
作者:
juncedz
时间:
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; //取得按键码
作者:
xqleft
时间:
2020-5-8 22:00
433模块?
作者:
tjw8086
时间:
2020-5-9 00:31
各种遥控器有固定编码格式,学习一个按键就知道对应的编码格式,其它按键值都是固定的值。
作者:
piliming
时间:
2020-5-9 15:46
学习本质就是学编码方式,例如2262,1527编码,再扣重点说就是存储发射器的地址码,具体的按键需要逐个具体学习
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1