版权声明:本文为博主原创加整合,欢迎大家转载,转载注明出处。 https://blog.csdn.net/jiangchao3392/article/details/89305633
硬件平台: STM32F103C8T6
软件平台:keil MDK
#define LEARN_KEY GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_3) //学习按键
#define SEND_KEY GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_4) //发送按键
#define MODE_KEY GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_5) //模式按键
#define RFin GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_1) //高频433接收
串口协议:
#define DEBUG_USART_BAUDRATE 9600
#define ONOFF_SCAN Set_Buff[0] //ON/OFF,Scan模式
#define PATTREN_BIT Set_Buff[1] //Pattren 32/16bit模式 0 16bit 1 32bit
#define PATTERN1 Set_Buff[2] //pattern的值 R6
#define PATTERN2 Set_Buff[3] //pattern的值 R5
#define LFBIT_NxRC Set_Buff[4] //编码速率
#define LFSENDMODE Set_Buff[5] //LF发送模式 0 载波+正文 1 载波+前导+模式+正文
#define LF_ENABLE Set_Buff[6] //使能低频发送 1发送 非1停止
#define LFWOKEMODE Set_Buff[7] //LF发射方式 0手动 1自动
#define SEND_RSSI Set_Buff[8] //LF发射功率强度 取值0 - 7
#define INTERVAL1 Set_Buff[9] //发送周期
#define INTERVAL2 Set_Buff[10] //发送周期(INTERVAL1 * 256 + INTERVAL2)/10 ms
#define DELAY1 Set_Buff[11] //配置完成延时启动时间
#define DELAY2 Set_Buff[12] //配置完成延时启动时间 DELAY1 * 256 + DELAY2 ms
#define DEVICE_ID1 Set_Buff[13] //设备¸ID1
#define DEVICE_ID2 Set_Buff[14] //设备¸ID2
#define ACTIVE_NUM Set_Buff[15] //激活ID的字节数 (DATA/正文)
#define ACTIVE_ID1 Set_Buff[16] //激活ID1
#define ACTIVE_ID2 Set_Buff[17] //激活ID2
#define ACTIVE_ID3 Set_Buff[18] //激活ID3
#define ACTIVE_ID4 Set_Buff[19] //激活ID4
#define ACTIVE_ID5 Set_Buff[20] //激活ID5
#define ACTIVE_ID6 Set_Buff[21] //激活ID6
#define ACTIVE_ID7 Set_Buff[22] //激活ID7
#define ACTIVE_ID8 Set_Buff[23] //激活ID8
#define ACTIVE_ID9 Set_Buff[24] //激活ID9
心跳包: CC 00 01 01 C3 3A 01 01 4F 4B 05 89 EE
Heartbeat_Buff[0] = 0xCC; //心跳数据
Heartbeat_Buff[1] = DEVICE_ID1;
Heartbeat_Buff[2] = DEVICE_ID2;
Heartbeat_Buff[3] = LF_ENABLE;
Heartbeat_Buff[4] = PATTERN1;
Heartbeat_Buff[5] = PATTERN2;
Heartbeat_Buff[6] = ACTIVE_NUM;
Heartbeat_Buff[7] = ACTIVE_ID1;
Heartbeat_Buff[8] = ACTIVE_ID2;
Heartbeat_Buff[9] = ACTIVE_ID3;
Heartbeat_Buff[10] = ACTIVE_ID4;
Heartbeat_Buff[11] = ACTIVE_ID5;
Heartbeat_Buff[12] = ACTIVE_ID6;
Heartbeat_Buff[13] = ACTIVE_ID7;
Heartbeat_Buff[14] = ACTIVE_ID8;
Heartbeat_Buff[15] = ACTIVE_ID9;
Heartbeat_Buff[7 + ACTIVE_NUM] = 0x4F;
Heartbeat_Buff[8 + ACTIVE_NUM] = 0x4B;
crc = GetCRC16(Heartbeat_Buff, ACTIVE_NUM + 9); //计算CRC数据值
Heartbeat_Buff[9 + ACTIVE_NUM] = crc & 0xFF;
Heartbeat_Buff[10 + ACTIVE_NUM] = crc >> 8;
Heartbeat_Buff[11 + ACTIVE_NUM] = 0xEE;
高频数据:DD 04 DF F3 70 01 B1 CC EE
LF_Mode = 0; //自动模式
if(LF_Mode) Mode_LED_ON; //手动模式,LED亮
else Mode_LED_OFF; //自动模式,LED灭