Files
pwm32e_pro/project/example/ble/ble_peripheral/app/src/RF433.h
T

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