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 @@