From 655ca318efcdf71554da38ab30ccdaa53b8c6075 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期一, 25 三月 2024 17:54:17 +0800 Subject: [PATCH] V1.13,修复lora收到升级命令后发射回应包,如果回应包没有触发txdone无法触发标志位,重复发射5次后,会清零,不会重启的BUG --- Src/OnChipDevices/Flash.c | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Src/OnChipDevices/Flash.c b/Src/OnChipDevices/Flash.c index 942e1de..adcf664 100644 --- a/Src/OnChipDevices/Flash.c +++ b/Src/OnChipDevices/Flash.c @@ -34,7 +34,7 @@ * @retval 0:error; 1:success */ - +extern uint16_t testflag; uint32_t FLASH_Prepare(uint32_t Address, uint32_t Len) //起始地址和字长 {uint32_t PageError = 0; FLASH_EraseInitTypeDef EraseInitStruct; @@ -44,10 +44,13 @@ EraseInitStruct.NbPages = Len >>7; // HAL_FLASH_Lock(); if (HAL_FLASHEx_Erase(&EraseInitStruct, &PageError) != HAL_OK) - { + { + testflag=1; HAL_FLASH_Lock(); return 0; + }else{ + testflag=0; HAL_FLASH_Lock(); return 1; } @@ -99,9 +102,10 @@ * @retval 0:error ; 1:success */ #define DATA_32 ((uint32_t)0x12345678) +uint32_t temp21; uint32_t FLASH_Write( uint32_t Address, const uint8_t* pData, uint32_t Len) { - uint32_t WriteCount = 0,temp; + uint32_t WriteCount = 0; uint32_t FlashDestination = Address; uint32_t FlashSource = (uint32_t)pData; HAL_StatusTypeDef FLASHStatus = HAL_OK; @@ -109,8 +113,8 @@ HAL_FLASH_Unlock(); for( ; WriteCount < Len; WriteCount+=4) - {temp=*(uint32_t*)FlashSource; - FLASHStatus = HAL_FLASH_Program(FLASH_TYPEPROGRAMDATA_WORD, FlashDestination, temp); + {temp21=*(uint32_t*)FlashSource; + FLASHStatus = HAL_FLASH_Program(FLASH_TYPEPROGRAMDATA_WORD, FlashDestination, temp21); if( FLASHStatus != HAL_OK) { -- Gitblit v1.9.3