EV1527 功能描述
1:每一帧码有 25 位,同步位(syn)的高低电平宽度为 t:31t(先高后低),其余每一位码的码形有两种,称为“0”码和“1”码;“0”码是一个高低电平宽度比为 t:3t 的脉冲(先高后低),“1”码是一个高低电平宽度比为 3t:t 的脉冲(先高后低);一帧码发完马上发下一帧码。其中 t 为振荡频率的 32 倍。
2:发码时依次将 syn、C0、C1、C2、C3、C4、C5、C6、C7、C8、C9、C10、C11、C12、C13、C14、C15、C16、C17、C18、C19、D0、D1、D2、D3 的编码发出。 C0-C19组成20位的地址码,以区分不同的遥控设备,D0-D3组成4位按键码,以实现不同的功能。
以433Mhz的EV1527遥控器为例
同步码:350us高电平+10ms低电平
0码:350us高电平+1ms低电平
1码:1ms高电平+350us低电平
解码代码
#include <linux/hrtimer.h>
#include <linux/ktime.h>
#include <linux/delay.h>
static struct hrtimer hr_timer;
static ktime_t ktime;
static unsigned int interval=50; /* unit: us */
#define _start_us_min 160
#define _start_us_max 240
#define _num0_us_min 15
#define _num0_us_max 25
#define _num1_us_min 0