195 lines
3.7 KiB
C
195 lines
3.7 KiB
C
#ifndef _RF433_H_
|
|
#define _RF433_H_
|
|
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <stdint.h>
|
|
|
|
///*
|
|
// 09 07 01 03
|
|
//
|
|
//
|
|
//
|
|
// 0B 05 0A 0C
|
|
//*/
|
|
|
|
|
|
//#define ON_OFF 0X03 //开关
|
|
|
|
//#define Mode_choose 0X01 //七彩
|
|
|
|
//#define Brightness_L 0X09 //
|
|
|
|
//#define Brightness_H 0X07
|
|
|
|
//#define Time_1h 0x0B
|
|
|
|
//#define Time_2h 0x05
|
|
|
|
//#define Speed_add 0x0C
|
|
|
|
//#define Speed_dow 0x0A
|
|
|
|
|
|
//#define ON 0XF1 //开关
|
|
|
|
//#define OFF 0XF0 //七彩
|
|
|
|
//#define Mode_add 0XF2 //
|
|
|
|
//#define Mode_dow 0XF3
|
|
|
|
//#define Brightness_H 0xF4
|
|
|
|
//#define Brightness_L 0xF5
|
|
|
|
//椭圆
|
|
#define ON 0X02 //开关
|
|
|
|
#define OFF 0X04 //七彩
|
|
|
|
#define Mode_add 0X06 //
|
|
|
|
#define Mode_dow 0X0E
|
|
|
|
#define Brightness_H 0x08
|
|
|
|
#define Brightness_L 0x0D
|
|
|
|
#define Speed_H 0x08
|
|
|
|
#define Speed_L 0x0D
|
|
|
|
|
|
|
|
//扁形
|
|
#define B_Brightness_H 0x00
|
|
|
|
#define B_Brightness_L 0x0F
|
|
|
|
#define B_Speed_L 0x0A //F_Speed_dow 0x0A
|
|
|
|
#define B_Speed_H 0x0C // F_Speed_add 0x0C
|
|
|
|
|
|
//方形
|
|
#define F_ON_OFF 0X03 //开关
|
|
|
|
#define F_Mode_choose 0X01 //七彩
|
|
|
|
#define F_Brightness_100 0X07 //
|
|
|
|
#define F_Brightness_10 0X09
|
|
|
|
#define F_Time_1h 0x0B
|
|
|
|
#define F_Time_2h 0x05
|
|
|
|
#define F_Speed_add 0x0C
|
|
|
|
#define F_Speed_dow 0x0A
|
|
|
|
|
|
|
|
//#define RF_DATA P15 //RF433接收引脚,根据具体单片机定义引脚
|
|
|
|
//#define RF433_PIN GPIO_5 //RF433接收引脚,根据具体单片机定义引脚
|
|
|
|
//#define RF_DATA P15//RF433接收引脚,根据具体单片机定义引脚
|
|
|
|
|
|
#define RF_DATA xc_gpio_read_pin(RF433_PIN) //RF433接收引脚,根据具体单片机定义引脚
|
|
|
|
#define RF433_PIN GPIO_18 //RF433接收引脚,与DWM11硬件配置一致
|
|
#define RF_dd GPIO_0 //
|
|
|
|
|
|
#define frames_time 70 //该值要大于68,68指代通过逻辑分析仪抓取一帧的时间
|
|
#define LongPress_time 100 //长按时间 100ms触发一次
|
|
#define Short_time 60 // 时间 60ms触发一次
|
|
//enum
|
|
//{
|
|
// SHUT_DOWN,
|
|
// POWER_ON
|
|
//};
|
|
|
|
enum
|
|
{
|
|
LOW_LEVEL, //0
|
|
HIGH_LEVEL //1
|
|
};
|
|
|
|
enum
|
|
{
|
|
FAIL,
|
|
SUCCESS
|
|
};
|
|
|
|
enum
|
|
{
|
|
NOMATCH,
|
|
MATCHED
|
|
};
|
|
|
|
struct receive_data_page//接收数据包结构
|
|
{
|
|
unsigned char idh;
|
|
unsigned char idl;
|
|
unsigned char key_value;
|
|
};
|
|
struct address
|
|
{
|
|
unsigned char address_l;
|
|
unsigned char address_h;
|
|
};
|
|
union rf433_flag
|
|
{
|
|
struct
|
|
{
|
|
unsigned char study: 1; //表示占用1位
|
|
unsigned char long_press_flag:1;
|
|
unsigned char short_press_flag:1;
|
|
unsigned char current_level: 1;
|
|
unsigned char sync_code: 1;
|
|
unsigned char decode_success_flag:1; //松手检测标志
|
|
unsigned char new_remote_flag:1;
|
|
unsigned char receive_finish: 1;
|
|
unsigned char raised_long_press_flag: 1;
|
|
} rf_receive_flag;
|
|
unsigned char flag;
|
|
}; //联合体赋初值 rf_flag = {0}
|
|
|
|
|
|
|
|
extern union rf433_flag rf_flag;
|
|
extern struct receive_data_page Receive_data_page;
|
|
extern struct address Remote_adress;
|
|
extern uint8_t match_success;
|
|
extern unsigned char match_time_over_flag;
|
|
extern uint32_t receive_data;
|
|
extern uint32_t flag_1h;
|
|
extern uint8_t is_time;
|
|
extern uint32_t adress;
|
|
extern unsigned char receive_data_cnt;
|
|
|
|
extern uint8_t res_data;
|
|
|
|
|
|
extern uint8_t adress_H;
|
|
extern uint8_t adress_L;
|
|
extern uint8_t adress_H_array[5];
|
|
extern uint8_t adress_L_array[5];
|
|
extern uint8_t long_flag_s;
|
|
|
|
|
|
void rf433_receive();
|
|
void rf433_gpio_init();
|
|
void scan_433();
|
|
void Lock_Pwm7xd();
|
|
void Delay_50us();
|
|
void Encoder_key();
|
|
void rf433_clear_code(void);
|
|
|
|
|
|
#endif
|