HAL_Project/Project -APP-V1.0/Hardware/LORA/lora.h

264 lines
14 KiB
C
Raw Permalink Normal View History

2025-05-09 15:43:42 +08:00
#ifndef __LORA_H__
#define __LORA_H__
#include "main.h"
//LoRA<52><41><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD>
#define LORA_AUX_Pin GPIO_PIN_7
#define LORA_AUX_Port GPIOC
#define LORA_M0_Pin GPIO_PIN_0
#define LORA_M0_Port GPIOB
#define LORA_M1_Pin GPIO_PIN_1
#define LORA_M1_Port GPIOB
#define LORA_POW_Pin GPIO_PIN_8
#define LORA_POW_Port GPIOA
/**USART3 GPIO Configuration
PB10 ------> USART3_TX
PB11 ------> USART3_RX
*/
#define SUB1_HADR 0x00 //<2F><>ʾ <20><><EFBFBD>豸1 <20><>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD>
#define SUB1_LADR 0x01 //<2F><>ʾ <20><><EFBFBD>豸1 <20><>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD>
#define SUB1_CH LoRa_CH21 //<2F><>ʾ <20><><EFBFBD>豸1 <20>ŵ<EFBFBD>
#define SUB2_HADR 0x00 //<2F><>ʾ <20><><EFBFBD>豸2 <20><>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD>
#define SUB2_LADR 0x02 //<2F><>ʾ <20><><EFBFBD>豸2 <20><>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD>
#define SUB2_CH LoRa_CH22 //<2F><>ʾ <20><><EFBFBD>豸2 <20>ŵ<EFBFBD>
#define SUB3_HADR 0x00 //<2F><>ʾ <20><><EFBFBD>豸3 <20><>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD>
#define SUB3_LADR 0x03 //<2F><>ʾ <20><><EFBFBD>豸3 <20><>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD>
#define SUB3_CH LoRa_CH23 //<2F><>ʾ <20><><EFBFBD>豸3 <20>ŵ<EFBFBD>
#define SUB4_HADR 0x00 //<2F><>ʾ <20><><EFBFBD>豸4 <20><>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD>
#define SUB4_LADR 0x04 //<2F><>ʾ <20><><EFBFBD>豸4 <20><>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD>
#define SUB4_CH LoRa_CH24 //<2F><>ʾ <20><><EFBFBD>豸4 <20>ŵ<EFBFBD>
#define SUB5_HADR 0x00 //<2F><>ʾ <20><><EFBFBD>豸5 <20><>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD>
#define SUB5_LADR 0x05 //<2F><>ʾ <20><><EFBFBD>豸5 <20><>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD>
#define SUB5_CH LoRa_CH25 //<2F><>ʾ <20><><EFBFBD>豸5 <20>ŵ<EFBFBD>
#define SUB6_HADR 0x00 //<2F><>ʾ <20><><EFBFBD>豸6 <20><>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD>
#define SUB6_LADR 0x06 //<2F><>ʾ <20><><EFBFBD>豸6 <20><>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD>
#define SUB6_CH LoRa_CH26 //<2F><>ʾ <20><><EFBFBD>豸6 <20>ŵ<EFBFBD>
#define SUB7_HADR 0x00 //<2F><>ʾ <20><><EFBFBD>豸7 <20><>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD>
#define SUB7_LADR 0x07 //<2F><>ʾ <20><><EFBFBD>豸7 <20><>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD>
#define SUB7_CH LoRa_CH27 //<2F><>ʾ <20><><EFBFBD>豸7 <20>ŵ<EFBFBD>
#define SUB8_HADR 0x00 //<2F><>ʾ <20><><EFBFBD>豸8 <20><>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD>
#define SUB8_LADR 0x08 //<2F><>ʾ <20><><EFBFBD>豸8 <20><>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD>
#define SUB8_CH LoRa_CH28 //<2F><>ʾ <20><><EFBFBD>豸8 <20>ŵ<EFBFBD>
#define SUB9_HADR 0x00 //<2F><>ʾ <20><><EFBFBD>豸9 <20><>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD>
#define SUB9_LADR 0x09 //<2F><>ʾ <20><><EFBFBD>豸9 <20><>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD>
#define SUB9_CH LoRa_CH29 //<2F><>ʾ <20><><EFBFBD>豸9 <20>ŵ<EFBFBD>
#define SUB10_HADR 0x00 //<2F><>ʾ <20><><EFBFBD><20><>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD>
#define SUB10_LADR 0x0A //<2F><>ʾ <20><><EFBFBD><20><>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD>
#define SUB10_CH LoRa_CH30 //<2F><>ʾ <20><><EFBFBD><20>ŵ<EFBFBD>
typedef struct {
uint8_t LoRa_AddrH; //ģ<><C4A3><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD> <20><>ַ0x00
uint8_t LoRa_AddrL; //ģ<><C4A3><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ֽ<EFBFBD> <20><>ַ0x01
uint8_t LoRa_NetID; //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ <20><>ַ0x02
uint8_t LoRa_Baudrate; //ģ<><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD> <20><>ַ0x03
uint8_t LoRa_UartMode; //ģ<><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD>ģʽ <20><>ַ0x03
uint8_t LoRa_airvelocity; //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ַ0x03
uint8_t LoRa_DataLen; //<2F><><EFBFBD>ݷְ<DDB7><D6B0><EFBFBD>С <20><>ַ0x04
uint8_t LoRa_Rssi; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9> <20><>ַ0x04
uint8_t LoRa_TxPower; //ģ<><EFBFBD><EFBFBD><E4B9A6> <20><>ַ0x04
uint8_t LoRa_CH; //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ַ0x05
uint8_t LoRa_RssiByte; //Rssi<73>ֽڹ<D6BD><DAB9><EFBFBD> <20><>ַ0x06
uint8_t LoRa_DateMode; //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>ģʽ <20><>ַ0x06
uint8_t LoRa_Relay; //ģ<><C4A3><EFBFBD>м̹<D0BC><CCB9><EFBFBD> <20><>ַ0x06
uint8_t LoRa_LBT; //ģ<><C4A3>LBT<42><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ַ0x06
uint8_t LoRa_WORmode; //ģ<><C4A3>WORģʽ<C4A3>¹<EFBFBD><C2B9><EFBFBD><EFBFBD><EFBFBD>ʽ <20><>ַ0x06
uint8_t LoRa_WORcycle; //ģ<><C4A3>WORģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> <20><>ַ0x06
uint8_t LoRa_KeyH; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Կ<EFBFBD><D4BF><EFBFBD>ֽ<EFBFBD> <20><>ַ0x07
uint8_t LoRa_KeyL; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Կ<EFBFBD><D4BF><EFBFBD>ֽ<EFBFBD> <20><>ַ0x08
} LoRaParameter;
//ģʽѡ<CABD><D1A1>
#define LoRa_MODE0 HAL_GPIO_WritePin(LORA_M0_Port, LORA_M0_Pin, GPIO_PIN_RESET); HAL_GPIO_WritePin(LORA_M1_Port, LORA_M1_Pin, GPIO_PIN_RESET) //LoRaģ<61><C4A3> ģʽ0
#define LoRa_MODE1 HAL_GPIO_WritePin(LORA_M0_Port, LORA_M0_Pin, GPIO_PIN_SET); HAL_GPIO_WritePin(LORA_M1_Port, LORA_M1_Pin, GPIO_PIN_RESET) //LoRaģ<61><C4A3> ģʽ1
#define LoRa_MODE2 HAL_GPIO_WritePin(LORA_M0_Port, LORA_M0_Pin, GPIO_PIN_RESET); HAL_GPIO_WritePin(LORA_M1_Port, LORA_M1_Pin, GPIO_PIN_SET) //LoRaģ<61><C4A3> ģʽ2
#define LoRa_MODE3 HAL_GPIO_WritePin(LORA_M0_Port, LORA_M0_Pin, GPIO_PIN_SET); HAL_GPIO_WritePin(LORA_M1_Port, LORA_M1_Pin, GPIO_PIN_SET) //LoRaģ<61><C4A3> ģʽ3
#define LoRa_AUX HAL_GPIO_ReadPin(LORA_AUX_Port, LORA_AUX_Pin) //<2F><>ȡ<EFBFBD><C8A1>ƽ״̬,<2C>ж<EFBFBD>ģ<EFBFBD><C4A3>״̬
#define LoRa_PowerON HAL_GPIO_WritePin(LORA_POW_Port, LORA_POW_Pin, GPIO_PIN_SET) //<2F><><EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD>,<2C>ߵ<EFBFBD>ƽON
#define LoRa_PowerOFF HAL_GPIO_WritePin(LORA_POW_Port, LORA_POW_Pin, GPIO_PIN_RESET) //<2F><><EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD>,<2C>͵<EFBFBD>ƽOFF
#define LoRa_TxData u2_TxData
#define LoRa_1200 0x00 //ģ<><EFBFBD><E9B4AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1200
#define LoRa_2400 0x20 //ģ<><EFBFBD><E9B4AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2400
#define LoRa_4800 0x40 //ģ<><EFBFBD><E9B4AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 4800
#define LoRa_9600 0x60 //ģ<><EFBFBD><E9B4AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 9600
#define LoRa_19200 0x80 //ģ<><EFBFBD><E9B4AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 19200
#define LoRa_38400 0xA0 //ģ<><EFBFBD><E9B4AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 38400
#define LoRa_57600 0xC0 //ģ<><EFBFBD><E9B4AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 57600
#define LoRa_115200 0xE0 //ģ<><EFBFBD><E9B4AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 115200
#define LoRa_8N1 0x00 //ģ<><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD> 8<><38><EFBFBD><EFBFBD>λ <20><>У<EFBFBD><D0A3> 1ֹͣλ
#define LoRa_8O1 0x08 //ģ<><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD> 8<><38><EFBFBD><EFBFBD>λ <20><>У<EFBFBD><D0A3> 1ֹͣλ
#define LoRa_8E1 0x10 //ģ<><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD> 8<><38><EFBFBD><EFBFBD>λ żУ<C5BC><D0A3> 1ֹͣλ
#define LoRa_0_3 0x00 //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0.3K
#define LoRa_1_2 0x01 //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1.2K
#define LoRa_2_4 0x02 //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2.4K
#define LoRa_4_8 0x03 //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 4.8K
#define LoRa_9_6 0x04 //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 9.6K
#define LoRa_19_2 0x05 //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 19.2K
#define LoRa_38_4 0x06 //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 38.4K
#define LoRa_62_5 0x07 //ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 62.5K
#define LoRa_Data240 0x00 //<2F><><EFBFBD>ݷְ<DDB7><D6B0><EFBFBD>С 240<34>ֽ<EFBFBD>
#define LoRa_Data128 0x40 //<2F><><EFBFBD>ݷְ<DDB7><D6B0><EFBFBD>С 128<32>ֽ<EFBFBD>
#define LoRa_Data64 0x80 //<2F><><EFBFBD>ݷְ<DDB7><D6B0><EFBFBD>С 64<36>ֽ<EFBFBD>
#define LoRa_Data32 0xC0 //<2F><><EFBFBD>ݷְ<DDB7><D6B0><EFBFBD>С 32<33>ֽ<EFBFBD>
#define LoRa_RssiEN 0x20 //<2F><><EFBFBD><EFBFBD>RSSI<53><49><EFBFBD><EFBFBD>
#define LoRa_RssiDIS 0x00 //<2F><><EFBFBD><EFBFBD>RSSI<53><49><EFBFBD><EFBFBD>
#define LoRa_FEC_22DBM 0x00 //<2F><><EFBFBD><EFBFBD><E4B9A6>22dbm
#define LoRa_FEC_17DBM 0x01 //<2F><><EFBFBD><EFBFBD><E4B9A6>17dbm
#define LoRa_FEC_13DBM 0x02 //<2F><><EFBFBD><EFBFBD><E4B9A6>13dbm
#define LoRa_FEC_10DBM 0x03 //<2F><><EFBFBD><EFBFBD><E4B9A6>10dbm
#define LoRa_CH0 0x00 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>410MHz
#define LoRa_CH1 0x01 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>411MHz
#define LoRa_CH2 0x02 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>412MHz
#define LoRa_CH3 0x03 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>413MHz
#define LoRa_CH4 0x04 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>414MHz
#define LoRa_CH5 0x05 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>415MHz
#define LoRa_CH6 0x06 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>416MHz
#define LoRa_CH7 0x07 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>417MHz
#define LoRa_CH8 0x08 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>418MHz
#define LoRa_CH9 0x09 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>419MHz
#define LoRa_CH10 0x0A //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>420MHz
#define LoRa_CH11 0x0B //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>421MHz
#define LoRa_CH12 0x0C //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>422MHz
#define LoRa_CH13 0x0D //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>423MHz
#define LoRa_CH14 0x0E //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>424MHz
#define LoRa_CH15 0x0F //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>425MHz
#define LoRa_CH16 0x10 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>426MHz
#define LoRa_CH17 0x11 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>427MHz
#define LoRa_CH18 0x12 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>428MHz
#define LoRa_CH19 0x13 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>429MHz
#define LoRa_CH20 0x14 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>430MHz
#define LoRa_CH21 0x15 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>431MHz
#define LoRa_CH22 0x16 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>432MHz
#define LoRa_CH23 0x17 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>433MHz
#define LoRa_CH24 0x18 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>434MHz
#define LoRa_CH25 0x19 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>435MHz
#define LoRa_CH26 0x1A //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>436MHz
#define LoRa_CH27 0x1B //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>437MHz
#define LoRa_CH28 0x1C //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>438MHz
#define LoRa_CH29 0x1D //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>439MHz
#define LoRa_CH30 0x1E //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>440MHz
#define LoRa_CH31 0x1F //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>441MHz
#define LoRa_CH32 0x20 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>442MHz
#define LoRa_CH33 0x21 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>442MHz
#define LoRa_CH34 0x22 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>444MHz
#define LoRa_CH35 0x23 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>445MHz
#define LoRa_CH36 0x24 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>446MHz
#define LoRa_CH37 0x25 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>447MHz
#define LoRa_CH38 0x26 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>448MHz
#define LoRa_CH39 0x27 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>449MHz
#define LoRa_CH40 0x28 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>450MHz
#define LoRa_CH41 0x29 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>451MHz
#define LoRa_CH42 0x2A //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>452MHz
#define LoRa_CH43 0x2B //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>453MHz
#define LoRa_CH44 0x2C //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>454MHz
#define LoRa_CH45 0x2D //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>455MHz
#define LoRa_CH46 0x2E //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>456MHz
#define LoRa_CH47 0x2F //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>457MHz
#define LoRa_CH48 0x30 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>458MHz
#define LoRa_CH49 0x31 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>459MHz
#define LoRa_CH50 0x32 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>460MHz
#define LoRa_CH51 0x33 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>461MHz
#define LoRa_CH52 0x34 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>462MHz
#define LoRa_CH53 0x35 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>463MHz
#define LoRa_CH54 0x36 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>464MHz
#define LoRa_CH55 0x37 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>465MHz
#define LoRa_CH56 0x38 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>466MHz
#define LoRa_CH57 0x39 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>467MHz
#define LoRa_CH58 0x3A //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>468MHz
#define LoRa_CH59 0x3B //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>469MHz
#define LoRa_CH60 0x3C //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>470MHz
#define LoRa_CH61 0x3D //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>471MHz
#define LoRa_CH62 0x3E //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>472MHz
#define LoRa_CH63 0x3F //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>473MHz
#define LoRa_CH64 0x40 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>474MHz
#define LoRa_CH65 0x41 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>475MHz
#define LoRa_CH66 0x42 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>476MHz
#define LoRa_CH67 0x43 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>477MHz
#define LoRa_CH68 0x44 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>478MHz
#define LoRa_CH69 0x45 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>479MHz
#define LoRa_CH70 0x46 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>480MHz
#define LoRa_CH71 0x47 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>481MHz
#define LoRa_CH72 0x48 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>482MHz
#define LoRa_CH73 0x49 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>483MHz
#define LoRa_CH74 0x4A //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>484MHz
#define LoRa_CH75 0x4B //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>485MHz
#define LoRa_CH76 0x4C //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>486MHz
#define LoRa_CH77 0x4D //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>487MHz
#define LoRa_CH78 0x4E //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>488MHz
#define LoRa_CH79 0x4F //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>489MHz
#define LoRa_CH80 0x50 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>490MHz
#define LoRa_CH81 0x51 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>491MHz
#define LoRa_CH82 0x52 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>492MHz
#define LoRa_CH83 0x53 //ģ<><C4A3><EFBFBD>ŵ<EFBFBD> <20><>ӦƵ<D3A6><C6B5>493MHz
#define LoRa_RssiByteEN 0x80 //<2F><><EFBFBD><EFBFBD>RSSI<53>ֽڹ<D6BD><DAB9><EFBFBD>
#define LoRa_RssiByteDIS 0x00 //<2F><><EFBFBD><EFBFBD>RSSI<53>ֽڹ<D6BD><DAB9><EFBFBD>
#define LoRa_ModeTRANS 0x00 //ģ<><C4A3>͸<EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define LoRa_ModePOINT 0x40 //ģ<><EFBFBD><EFBFBD><E3B4AB>
#define LoRa_RelayEN 0x20 //<2F><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>
#define LoRa_RelayDIS 0x00 //<2F><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>
#define LoRa_LBTEN 0x10 //<2F><><EFBFBD><EFBFBD>LBT
#define LoRa_LBTDIS 0x00 //<2F><><EFBFBD><EFBFBD>LBT
#define LoRa_WorTX 0x08 //Worģʽ<C4A3><CABD><EFBFBD><EFBFBD>
#define LoRa_WorRX 0x00 //Worģʽ<C4A3><CABD><EFBFBD><EFBFBD>
#define LoRa_Wor500ms 0x00 //Wor<6F><72><EFBFBD><EFBFBD>500<30><30><EFBFBD><EFBFBD>
#define LoRa_Wor1000ms 0x01 //Wor<6F><72><EFBFBD><EFBFBD>1000<30><30><EFBFBD><EFBFBD>
#define LoRa_Wor1500ms 0x02 //Wor<6F><72><EFBFBD><EFBFBD>1500<30><30><EFBFBD><EFBFBD>
#define LoRa_Wor2000ms 0x03 //Wor<6F><72><EFBFBD><EFBFBD>2000<30><30><EFBFBD><EFBFBD>
#define LoRa_Wor2500ms 0x04 //Wor<6F><72><EFBFBD><EFBFBD>2500<30><30><EFBFBD><EFBFBD>
#define LoRa_Wor3000ms 0x05 //Wor<6F><72><EFBFBD><EFBFBD>3000<30><30><EFBFBD><EFBFBD>
#define LoRa_Wor3500ms 0x06 //Wor<6F><72><EFBFBD><EFBFBD>3500<30><30><EFBFBD><EFBFBD>
#define LoRa_Wor4000ms 0x07 //Wor<6F><72><EFBFBD><EFBFBD>4000<30><30><EFBFBD><EFBFBD>
void loraGpioInit(void); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>IO
uint8_t loraReset(int16_t); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>LoRa<52><61>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
void loraInit(void); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ģ<EFBFBD><C4A3>
void loraSet(void); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>LoRa<52><61><EFBFBD>ù<EFBFBD><C3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void loraGet(uint8_t *); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>LoRa<52><61>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void u3PassiveEvent(uint8_t *, uint16_t); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
void subDeviceReportingCertificate(uint8_t,uint8_t *);
void subDeviceReportingSwitchStatus(uint8_t,uint8_t *);
#endif /*__LORA_H__*/