From 578cdb830c456877b4d7539cab72c4f97fea016b Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期一, 25 三月 2024 17:40:26 +0800 Subject: [PATCH] V1.8,完善lora升级,其他功能测试通过 --- Src/radio/Lora.c | 33 ++++++++++++++++++++++----------- 1 files changed, 22 insertions(+), 11 deletions(-) diff --git a/Src/radio/Lora.c b/Src/radio/Lora.c index 0126fe4..42af5fa 100644 --- a/Src/radio/Lora.c +++ b/Src/radio/Lora.c @@ -177,8 +177,15 @@ SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader } Radio.Standby(); - Radio.Rx( 100 ); -// LED_TB_OFF; + if(LoraUp_flag) + { + huifushengjibao_flag=1; + Radio.Rx( 500 ); + } + else + { + Radio.Rx( 100 ); + } } extern LPTIM_HandleTypeDef hlptim1; uint16_t current_time,start_time,end_time; @@ -327,7 +334,7 @@ { case 0xaa: //升级下发 memcpy(&rec_wenjian_daxiao,&RX_Buffer[WRITEPARA_VALUE_IDX],2);//文件大小 - if(rec_wenjian_daxiao>0XAC00||rec_wenjian_daxiao==0) + if(rec_wenjian_daxiao>APP_SIZE||rec_wenjian_daxiao==0) {}//文件过大,超出范围 else { @@ -341,8 +348,8 @@ } } } - } - if(!no_rx_flag) + } + if(!no_rx_flag&&LoraUp_flag==0) { SwitchLoraSettings(UWB_CHANNEL_FRQ+g_com_map[GROUP_ID],UWB_CHANNEL_SF,0); Radio.Rx(0); @@ -496,19 +503,23 @@ } // while(1); if(lora_up_rec_flag) - { + { uint16_t result12; HAL_IWDG_Refresh(&hiwdg); crc16=Cal_CRC16(RX_Buffer,DATA_IDX+ONE_BAG_DAXIAO); + __disable_irq(); if(muqiandeshengjibao==RX_Buffer[MUQIAN_BAG]&&!memcmp(&crc16,&RX_Buffer[DATA_IDX+ONE_BAG_DAXIAO],2)&&!memcmp(&dev_id,&RX_Buffer[DEST_ID_IDX],2)&& !memcmp(&wangguan_up_id,&RX_Buffer[SOURCE_ID_IDX],2)) { memcpy(Zhongjian_data,&RX_Buffer[DATA_IDX],ONE_BAG_DAXIAO); -// if(app1_or_app2==1) -// FLASH_Write(APP1_ADRESS+ONE_BAG_DAXIAO*rxbuffer[MUQIAN_BAG],(uint8_t*)Zhongjian_data,ONE_BAG_DAXIAO); -// else - FLASH_Write(APP2_ADRESS+ONE_BAG_DAXIAO*RX_Buffer[MUQIAN_BAG],(uint8_t*)Zhongjian_data,ONE_BAG_DAXIAO); - + result12=FLASH_Write(APP2_ADRESS+ONE_BAG_DAXIAO*RX_Buffer[MUQIAN_BAG],(uint8_t*)Zhongjian_data,ONE_BAG_DAXIAO); + while(result12==0) + { + result12=FLASH_Write(APP2_ADRESS+ONE_BAG_DAXIAO*RX_Buffer[MUQIAN_BAG],(uint8_t*)Zhongjian_data,ONE_BAG_DAXIAO); + delay_ms(10); + } + if(result12) muqiandeshengjibao++; } + __enable_irq(); } else { -- Gitblit v1.9.3