From da6d7e68ec3d303e78e83a1adf17f638a0d49269 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期二, 26 十二月 2023 15:45:30 +0800 Subject: [PATCH] 1 --- Src/radio/Lora.c | 108 +++++++++++++++++------------------------------------ 1 files changed, 35 insertions(+), 73 deletions(-) diff --git a/Src/radio/Lora.c b/Src/radio/Lora.c index ebdb536..e2860ad 100644 --- a/Src/radio/Lora.c +++ b/Src/radio/Lora.c @@ -204,15 +204,15 @@ // HAL_Delay_nMS( 1 ); // HAL_GPIO_WritePin( OUT1_GPIO_Port, OUT1_Pin,GPIO_PIN_RESET); - LedToggle();//LED闪烁 +// LedToggle();//LED闪烁 //printf("Slave RXD PING!\r\n"); - T_R_Init(1); +// T_R_Init(1); - TX_Buffer[0] = 'P'; - TX_Buffer[1] = 'O'; - TX_Buffer[2] = 'N'; - TX_Buffer[3] = 'G'; +// TX_Buffer[0] = 'P'; +// TX_Buffer[1] = 'O'; +// TX_Buffer[2] = 'N'; +// TX_Buffer[3] = 'G'; // crc_value=RadioComputeCRC(TX_Buffer,4,CRC_TYPE_IBM);//计算得出要发送数据包CRC值 @@ -335,63 +335,12 @@ RadioEvents.RxError = OnRxError; Radio.Init( &RadioEvents ); - if(EnableMaster) - { - Radio.SetChannel( RF_FREQUENCY ); - } - else - { - Radio.SetChannel( RF_FREQUENCY ); - } - - #if defined( USE_MODEM_LORA ) - -// Radio.SetTxConfig( MODEM_LORA, TX_OUTPUT_POWER, 0, LORA_BANDWIDTH, -// LORA_SPREADING_FACTOR, LORA_CODINGRATE, -// LORA_PREAMBLE_LENGTH, LORA_FIX_LENGTH_PAYLOAD_ON, -// true, 0, 0, LORA_IQ_INVERSION_ON, 3000 ); - - Radio.SetTxConfig( MODEM_LORA, TX_OUTPUT_POWER, 0, LORA_BANDWIDTH, + Radio.SetChannel( RF_FREQUENCY ); + Radio.SetTxConfig( MODEM_LORA, 22, 0, LORA_BANDWIDTH, LORA_SPREADING_FACTOR, LORA_CODINGRATE, LORA_PREAMBLE_LENGTH_T, LORA_FIX_LENGTH_PAYLOAD_ON, false, 0, 0, LORA_IQ_INVERSION_ON_T, 3000 ); - -// Radio.SetRxConfig( MODEM_LORA, LORA_BANDWIDTH, LORA_SPREADING_FACTOR, -// LORA_CODINGRATE, 0, LORA_PREAMBLE_LENGTH, -// LORA_SYMBOL_TIMEOUT, LORA_FIX_LENGTH_PAYLOAD_ON, -// 0, true, 0, 0, LORA_IQ_INVERSION_ON, false ); - -// Radio.SetRxConfig( MODEM_LORA, LORA_BANDWIDTH, LORA_SPREADING_FACTOR, -// LORA_CODINGRATE, 0, LORA_PREAMBLE_LENGTH_R, -// LORA_SYMBOL_TIMEOUT, LORA_FIX_LENGTH_PAYLOAD_ON, -// 0, false, 0, 0, LORA_IQ_INVERSION_ON_R, false ); -// Radio.SetRxConfig( MODEM_LORA, LORA_BANDWIDTH, LORA_SPREADING_FACTOR, -// LORA_CODINGRATE, 0, LORA_PREAMBLE_LENGTH, -// LORA_SYMBOL_TIMEOUT, LORA_FIX_LENGTH_PAYLOAD_ON, -// 0, false, 0, 0, LORA_IQ_INVERSION_ON, true ); - - -#elif defined( USE_MODEM_FSK ) - - Radio.SetTxConfig( MODEM_FSK, TX_OUTPUT_POWER, FSK_FDEV, 0, - FSK_DATARATE, 0, - FSK_PREAMBLE_LENGTH, FSK_FIX_LENGTH_PAYLOAD_ON, - true, 0, 0, 0, 3000 ); - - Radio.SetRxConfig( MODEM_FSK, FSK_BANDWIDTH, FSK_DATARATE, - 0, FSK_AFC_BANDWIDTH, FSK_PREAMBLE_LENGTH, - 0, FSK_FIX_LENGTH_PAYLOAD_ON, 0, true, - 0, 0,false, false ); -#else - #error "Please define a frequency band in the compiler options." -#endif - - if(EnableMaster) - { - - printf("I am Master!\r\n"); - TX_Buffer[0] = 'P'; TX_Buffer[1] = 'I'; TX_Buffer[2] = 'N'; @@ -400,19 +349,32 @@ crc_value=RadioComputeCRC(TX_Buffer,4,CRC_TYPE_IBM);//计算得出要发送数据包CRC值 TX_Buffer[4]=crc_value>>8; TX_Buffer[5]=crc_value; - //Radio.Send( TX_Buffer, 6); -// Radio.Send( TX_Buffer, 4); - -// HAL_GPIO_WritePin( OUT1_GPIO_Port, OUT1_Pin,GPIO_PIN_SET); -// HAL_Delay_nMS( 1 ); -// HAL_GPIO_WritePin( OUT1_GPIO_Port, OUT1_Pin,GPIO_PIN_RESET); - - printf("Master TXD PING!\r\n"); - } - else - { - printf("I am Slave!\r\n"); - Radio.Rx( RX_TIMEOUT_VALUE ); - } + +} + + +void Lora470_Init(void) +{ + RadioEvents.TxDone = OnTxDone; + RadioEvents.RxDone = OnRxDone; + RadioEvents.TxTimeout = OnTxTimeout; + RadioEvents.RxTimeout = OnRxTimeout; + RadioEvents.RxError = OnRxError; + Radio.Init( &RadioEvents ); + Radio.SetChannel( 470000000 ); + Radio.SetTxConfig( MODEM_LORA, 22, 0, LORA_BANDWIDTH, + 7, LORA_CODINGRATE, + 10, LORA_FIX_LENGTH_PAYLOAD_ON, + false, 0, 0, LORA_IQ_INVERSION_ON_T, 3000 ); + +// TX_Buffer[0] = 'P'; +// TX_Buffer[1] = 'I'; +// TX_Buffer[2] = 'N'; +// TX_Buffer[3] = tx_num; +// +// crc_value=RadioComputeCRC(TX_Buffer,4,CRC_TYPE_IBM);//计算得出要发送数据包CRC值 +// TX_Buffer[4]=crc_value>>8; +// TX_Buffer[5]=crc_value; + } -- Gitblit v1.9.3