From 4936a48d23b9aef4ef44e4cf333e75cb8d49e37c Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期四, 27 二月 2025 15:02:54 +0800 Subject: [PATCH] 2.15,加入写入参数时候,如果没擦除成功会一直擦除的机制,最多200次 不成功就重启。 --- Src/application/global_param.c | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-) diff --git a/Src/application/global_param.c b/Src/application/global_param.c index c60512e..13f7acd 100644 --- a/Src/application/global_param.c +++ b/Src/application/global_param.c @@ -33,15 +33,28 @@ } return 0; } +uint8_t resultnum; uint32_t save_com_map_to_flash(void) { uint32_t result = 0; + resultnum=0; if(parameter_check()) //参数错误,不保存 { return 1; } __disable_irq(); + while(1) + { result = FLASH_Prepare(FLASH_IAP_CTRL_MAP, (COM_MAP_SIZE<<1)); + if(result) + {break;} + else + {resultnum++;} + if(resultnum>200) + { + HAL_NVIC_SystemReset(); + } + } if(result) result = FLASH_Write(FLASH_IAP_CTRL_MAP, (const uint8_t*)g_com_map, (COM_MAP_SIZE<<1)); __enable_irq(); -- Gitblit v1.9.3