From 82330e7bc620fcde052c6b6d42c74b238d590714 Mon Sep 17 00:00:00 2001 From: 95384 <664090429@qq.com> Date: Fri, 8 Nov 2024 16:31:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=A9=E6=B9=BF=E5=BA=A6=EF=BC=8C=E9=A3=8E?= =?UTF-8?q?=E9=80=9F=E9=A3=8E=E5=90=91=E6=9B=B4=E6=96=B0=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E4=B8=BA10min=E5=8F=AF=E6=8E=A7=EF=BC=8C?= =?UTF-8?q?=E5=8F=AF=E9=85=8D=E7=BD=AE=E5=8F=82=E6=95=B0=E5=AD=98=E5=82=A8?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE=E6=9B=B4=E6=8D=A2=E4=B8=BA=E5=86=85=E9=83=A8?= =?UTF-8?q?flash=E6=9C=AB=E5=B0=BErank2=200x080F=20F800=20-=200x080F=20FFF?= =?UTF-8?q?F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App/Inc/inflash.h | 8 +- App/Src/anemometer_dev.c | 24 ++-- App/Src/inflash.c | 2 +- Core/Src/main.c | 2 +- EWARM/micro_climate.ewd | 2 +- EWARM/micro_climate.ewp | 2 +- EWARM/settings/Project.wsdt | 25 ++--- EWARM/settings/micro_climate.dbgdt | 81 +++++++++----- EWARM/settings/micro_climate.dnx | 103 +++++++++--------- .../micro_climate.micro_climate.driver.xcl | 26 ++--- .../micro_climate.micro_climate.general.xcl | 2 +- EWARM/stm32l496xx_flash.icf | 3 + EWARM/stm32l496xx_flash_app.icf | 40 +++++++ 13 files changed, 187 insertions(+), 133 deletions(-) create mode 100644 EWARM/stm32l496xx_flash_app.icf diff --git a/App/Inc/inflash.h b/App/Inc/inflash.h index 609522f..6ad2ee5 100644 --- a/App/Inc/inflash.h +++ b/App/Inc/inflash.h @@ -4,12 +4,12 @@ /* 内部flash存储空间 */ -/* page 31,one page 2k, 0x800F800-0x0800FFFF*/ +/* page 511,one page 2k, 0x800F800-0x0800FFFF*/ #define STM32_INFLASH_PAGE_SIZE 2048 #define STM32_INFLASH_BASE 0x8000000 /* STM32 FLASH内部起始地址 */ -#define STM32_INFLASH_SAVE_ADDR_BEGIN (STM32_INFLASH_BASE+STM32_INFLASH_PAGE_SIZE*31) -#define STM32_INFLASH_SAVE_ADDR_END (STM32_INFLASH_BASE+STM32_INFLASH_PAGE_SIZE*32-1) -#define STM32_INFLASH_SAVE_PAGE 31 +#define STM32_INFLASH_SAVE_ADDR_BEGIN (STM32_INFLASH_BASE+STM32_INFLASH_PAGE_SIZE*511) +#define STM32_INFLASH_SAVE_ADDR_END (STM32_INFLASH_BASE+STM32_INFLASH_PAGE_SIZE*512-1) +#define STM32_INFLASH_SAVE_PAGE 511 typedef enum{ FLAG_SAVE_INFLASH_HEAD = 0x55, diff --git a/App/Src/anemometer_dev.c b/App/Src/anemometer_dev.c index 3e3eb60..fec9b5b 100644 --- a/App/Src/anemometer_dev.c +++ b/App/Src/anemometer_dev.c @@ -466,7 +466,7 @@ void wind_task(void const * argument) av_speed = 0; av_angle = 0; } - term_printf("x:%.2f y:%.2f win_speed %.2f m/s angle %.2f \r\n",av_speedx,av_speedy,av_speed,av_angle); +/// term_printf("x:%.2f y:%.2f win_speed %.2f m/s angle %.2f \r\n",av_speedx,av_speedy,av_speed,av_angle); } ///term_printf("win_speed %.2f \r\n",weather_info.wind_velocity); @@ -653,12 +653,12 @@ void my_update_mcs_param(float new_wind_speed, float new_wind_dirction) win_10min.speed_data[win_10min.index] = new_wind_speed; //添加新数据 win_10min.direction_data[win_10min.index] = new_wind_dirction; - if(win_10min.count < /* g_stConfigInfo.speed_average_time */ AVE_TIME) + if(win_10min.count < g_stConfigInfo.speed_average_time /*AVE_TIME*/) { win_10min.count++; } - if(win_10min.count > /* g_stConfigInfo.speed_average_time */AVE_TIME){win_10min.count = AVE_TIME/* g_stConfigInfo.speed_average_time */;} + if(win_10min.count > g_stConfigInfo.speed_average_time/*AVE_TIME*/){win_10min.count = /*AVE_TIME*/g_stConfigInfo.speed_average_time;} //计算10min风速滑动平均值 win_10min.ave_speed_data[win_10min.index] = sum(win_10min.speed_data, win_10min.count) / win_10min.count; @@ -691,17 +691,17 @@ void my_update_mcs_param(float new_wind_speed, float new_wind_dirction) float temp_max_speed = win_10min.ave_speed_data[0]; //统计 for (int i = 0; i < win_10min.count; i++) { - if (win_10min.ave_direction_data[i] < temp_min_direction) { - temp_min_direction = win_10min.ave_direction_data[i]; // 更新风向最小值 + if (win_10min.direction_data[i] < temp_min_direction) { + temp_min_direction = win_10min.direction_data[i]; // 更新风向最小值 } - if (win_10min.ave_direction_data[i] > temp_max_direction) { - temp_max_direction = win_10min.ave_direction_data[i]; // 更新风向最大值 + if (win_10min.direction_data[i] > temp_max_direction) { + temp_max_direction = win_10min.direction_data[i]; // 更新风向最大值 } - if (win_10min.ave_speed_data[i] < temp_min_speed) { - temp_min_speed = win_10min.ave_speed_data[i]; // 更新风速最小值 + if (win_10min.speed_data[i] < temp_min_speed) { + temp_min_speed = win_10min.speed_data[i]; // 更新风速最小值 } - if (win_10min.ave_speed_data[i] > temp_max_speed) { - temp_max_speed = win_10min.ave_speed_data[i]; // 更新风速最大值 + if (win_10min.speed_data[i] > temp_max_speed) { + temp_max_speed = win_10min.speed_data[i]; // 更新风速最大值 } } @@ -713,7 +713,7 @@ void my_update_mcs_param(float new_wind_speed, float new_wind_dirction) g_stMcs_Para.average_wind_speed = win_10min.ave_speed_data[win_10min.index]; g_stMcs_Para.max_wind_speed = temp_max_speed; - win_10min.index = (win_10min.index + 1) % AVE_TIME; //更新索引 + win_10min.index = (win_10min.index + 1) % /*AVE_TIME*/g_stConfigInfo.speed_average_time; //更新索引 } void tem_hum_update_task(void const * argument) diff --git a/App/Src/inflash.c b/App/Src/inflash.c index a33c56c..371b80e 100644 --- a/App/Src/inflash.c +++ b/App/Src/inflash.c @@ -24,7 +24,7 @@ void InFlash_Erase_Pages(u_int16_t PageBeginNum, u_int16_t NbPages) FLASH_EraseInitTypeDef EraseInitStruct; u_int32_t PAGEError = 0; - EraseInitStruct.Banks = FLASH_BANK_1; + EraseInitStruct.Banks = FLASH_BANK_2; EraseInitStruct.TypeErase = FLASH_TYPEERASE_PAGES; EraseInitStruct.Page = PageBeginNum; EraseInitStruct.NbPages = NbPages; diff --git a/Core/Src/main.c b/Core/Src/main.c index ef19aa4..662e14f 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -125,7 +125,7 @@ int main(void) { /* USER CODE BEGIN 1 */ - Flash_EnableReadProtection();// +// Flash_EnableReadProtection();// /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ diff --git a/EWARM/micro_climate.ewd b/EWARM/micro_climate.ewd index c04c241..5b5b0b7 100644 --- a/EWARM/micro_climate.ewd +++ b/EWARM/micro_climate.ewd @@ -84,7 +84,7 @@