From 31a18a379b5d7073705895dba364ca3b76d5d44e Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期三, 13 八月 2025 09:54:25 +0800 Subject: [PATCH] 开发完成 --- keil/include/src/Radio/lora_1268.c | 36 +++++++++++++++++++++++++++--------- 1 files changed, 27 insertions(+), 9 deletions(-) diff --git a/keil/include/src/Radio/lora_1268.c b/keil/include/src/Radio/lora_1268.c index 076c704..34b676b 100644 --- a/keil/include/src/Radio/lora_1268.c +++ b/keil/include/src/Radio/lora_1268.c @@ -548,8 +548,15 @@ uint16_t shoudaodebaoshu; uint16_t aaa; void LoraUp_Poll() -{ uint16_t result ; +{ + LoraReportFreqPoll(); + SwitchLoraSettings(wg_report_freq,REPORT_CHANNEL_SF,22); + uint16_t result ; uint16_t crc16; + shengji_flag=1; + LoraUp_flag=1; + wangguan_up_id=g_com_map[LORA_UPDATE_WANGGUAN_ID]; + LOG_INFO(TRACE_MODULE_APP," 网关ID:%x\r\n",wangguan_up_id); if(shengji_flag) { // memcpy(&wangguan_up_id,&RX_Buffer[SOURCE_ID_IDX],2);//网关ID 占用2个字节 @@ -569,15 +576,20 @@ delay_ms(200); __disable_irq(); // FLASH_Read(APP_1OR2_ADRESS,(uint8_t*)&app1_or_app2,2); - final_bag_num=(rec_wenjian_daxiao/220)+1;//计算一共要请求多少包 + final_bag_num=g_com_map[LORA_UPDATE_WENJIAN_DAXIAO];//计算一共要请求多少包 + LOG_INFO(TRACE_MODULE_APP," 文件包数:%d\r\n",final_bag_num); while(1) { //FLASH_Prepare(APP2_ADRESS, APP_SIZE); //删除上一次app为下次做准备 testflag=1; - testflag=flash_erase(FLASH_ID0,APP2_ADRESS,APP_SIZE);//删除100kAPP2空间为下面做准备 + testflag=flash_erase(FLASH_ID0,APP2_ADRESS,APP2_SIZE);//删除100kAPP2空间为下面做准备 delay_ms(500); if(testflag==0) - {break;} + { + LOG_INFO(TRACE_MODULE_APP," 擦除APP2空间成功\r\n"); + break; + } + LOG_INFO(TRACE_MODULE_APP," 擦除APP2空间失败\r\n"); } // FLASH_Write(APP2_ADRESS, (const uint8_t*)&tmp111, 2); __enable_irq(); @@ -596,7 +608,7 @@ memcpy(&send_lora_data[8],&crc16,2); lora_up_rec_flag=0; Radio.Send(send_lora_data,10);//基站发送请求第x包 - + LOG_INFO(TRACE_MODULE_APP," 基站发送请求第:%d包\r\n",muqiandeshengjibao); /*重写超时逻辑 start_count1=HAL_LPTIM_ReadCounter(&hlptim1); //等待接收完成直到超时 end_count1=start_count1+32768/2;//500ms等待 @@ -629,6 +641,7 @@ if(lora_up_rec_flag) {break;} Radio.Send(send_lora_data,10); + LOG_INFO(TRACE_MODULE_APP," 基站发送请求第:%d包\r\n",muqiandeshengjibao); } // while(1); if(lora_up_rec_flag) @@ -648,7 +661,8 @@ delay_ms(10); } if(result12==0) - muqiandeshengjibao++; + LOG_INFO(TRACE_MODULE_APP," 写:%d包成\r\n",muqiandeshengjibao); + muqiandeshengjibao++; } __enable_irq(); } @@ -660,6 +674,7 @@ { huifushengjibaoerror_num=0; muqiandeshengjibao=0; + LOG_INFO(TRACE_MODULE_APP," 满20次失败,退出\r\n"); delay_ms(500); //HAL_NVIC_SystemReset();//修改重启 sys_reset(0); @@ -670,11 +685,12 @@ { uint16_t tmp11 ,result11; tmp11=0XCC; - testflag=flash_erase(FLASH_ID0,APP1_ADRESS,APP_SIZE);//删除100kAPP1空间 + testflag=flash_erase(FLASH_ID0,APP1_ADRESS,APP1_SIZE);//删除100kAPP1空间 // final_bag_num=(rec_wenjian_daxiao/1024)+1; if(!testflag) { - final_bag_num=(rec_wenjian_daxiao/1024)+1; + LOG_INFO(TRACE_MODULE_APP," 擦除APP1空间成功,准备搬运\r\n"); + final_bag_num=(APP1_SIZE/1024)+1; for(aaa=0;aaa<final_bag_num;aaa++) { memcpy(&Zhongjian_data,(HIDO_VOID *)(APP2_ADRESS+(aaa*1024)),1024); @@ -685,8 +701,10 @@ // flash_write_nbytes((APPLICATION_ADDRESS+(aaa*1024)), (const uint8_t*)&zhongjian_shuju, 1024); // flash_write_nbytes(FLASH_ID0,0x400FF80,(uint8_t*)Zhongjian_data,248); } -// g_com_map[LORA_UPDATE_FLAG]=tmp11; + LOG_INFO(TRACE_MODULE_APP,"搬运完成,准备发给BLE升完请求\r\n"); + delay_ms(300); mk_send_offupdata_to_BLE(); + LOG_INFO(TRACE_MODULE_APP," 发送给蓝牙升级完成请求\r\n"); // result11=flash_erase(FLASH_ID0,APP_1OR2_ADRESS,FLASH_SECTOR_SIZE);//删除标志位所在区域 // if(!result11) // result11 = flash_write_nbytes(FLASH_ID0,APP_1OR2_ADRESS, (const uint8_t*)&tmp11, 2);//更新标志位 -- Gitblit v1.9.3