SYN480R模块解码EV1527教程
- EV1527帧结构
EV1527 每帧数据由同步码和24位的数据码组成,数据码又分为地址码(20位)和按键码(4位)。
以我手头上的433Mhz的EV1527遥控器为例,遥控波形如下。
- bit0:400us高电平+800us低电平
bit1:1ms高电平+200us低电平
同步码(黑色线条部分):高电平400us+低电平9ms。
- 地址码(橙色线条部分):20个数据位,共24ms。
- 按键码(红色线条部分):4个数据位,共4.8ms。
- 解码原理
同步码和bit1、bit0的低电平持续时间都不一样。通过定时器计算低电平时间来判断同步码、bit1、bit0。 - SYN480R解码代码
设置一个50us中断一次的定时器,每次中断调用soft_count()函数。
修改后面的数值就可以在其他不同的模块上用代码注释都非常详细,我就不再赘述了。如果有不懂的可以直接问我。1
2
3
4
5
6 - 头文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
//50us
extern uchar IR_Key;
extern uchar Temp_addrl;
extern uchar Temp_addrh;
extern uchar Address_l;
extern uchar Address_h;
extern uint RF_Value_Cnt;
extern uint release_key;
extern bit IR_OVER;
void soft_count();
void soft_decode();
.c文件
1 |
|