From 8beab6d53cbada58d77d98ec10037948d843c132 Mon Sep 17 00:00:00 2001 From: haochao Date: Tue, 20 May 2025 09:28:12 +0800 Subject: [PATCH] first save --- App/Irrigation/Irrigation.c | 58 +++++++++++++++--------------- App/SaveTime/Save_Time.c | 47 ++++++++++++++++++++++++ MDK-ARM/.vscode/keil-assistant.log | 2 ++ 3 files changed, 78 insertions(+), 29 deletions(-) diff --git a/App/Irrigation/Irrigation.c b/App/Irrigation/Irrigation.c index 34993a2..15940a5 100644 --- a/App/Irrigation/Irrigation.c +++ b/App/Irrigation/Irrigation.c @@ -1,41 +1,41 @@ #include "Irrigation.h" // 直排模式时间参数 -uint32_t DIRECT_HIGH_PUMP_ON_TIME = 3; // 1分钟 -uint32_t DIRECT_HIGH_PUMP_OFF_TIME = 1; // 150分钟 -uint32_t DIRECT_HIGH_FAN_ON_TIME = 2; // 40分钟 -uint32_t DIRECT_HIGH_FAN_OFF_TIME = 3 ; // 2分钟 -uint32_t DIRECT_LOW_FAN_ON_TIME = 3; // 10分钟 -uint32_t DIRECT_LOW_FAN_OFF_TIME = 2; // 20分钟 -uint32_t DIRECT_FIRST_LOW_FAN_ON = 2; // 40分钟 +uint32_t DIRECT_HIGH_PUMP_ON_TIME = 1; // 1分钟 +uint32_t DIRECT_HIGH_PUMP_OFF_TIME = 150; // 150分钟 +uint32_t DIRECT_HIGH_FAN_ON_TIME = 40; // 40分钟 +uint32_t DIRECT_HIGH_FAN_OFF_TIME = 2 ; // 2分钟 +uint32_t DIRECT_LOW_FAN_ON_TIME = 10; // 10分钟 +uint32_t DIRECT_LOW_FAN_OFF_TIME = 20; // 20分钟 +uint32_t DIRECT_FIRST_LOW_FAN_ON = 40; // 40分钟 uint32_t DIRECT_FIRST_LOW_FAN_OFF = 2; // 2分钟 // 冲厕模式时间参数 -uint32_t FLUSH_HIGH_PUMP_ON_TIME = 2; // 1分钟 -uint32_t FLUSH_HIGH_PUMP_OFF_TIME = 3; // 150分钟 -uint32_t FLUSH_HIGH_FAN_ON_TIME = 1; // 40分钟 -uint32_t FLUSH_HIGH_FAN_OFF_TIME = 4; // 2分钟 -uint32_t FLUSH_LOW_FAN_ON_TIME = 3; // 5分钟 -uint32_t FLUSH_LOW_FAN_OFF_TIME = 2; // 25分钟 -uint32_t FLUSH_FIRST_LOW_FAN_ON = 1; // 40分钟 -uint32_t FLUSH_FIRST_LOW_FAN_OFF = 3; // 2分钟 +uint32_t FLUSH_HIGH_PUMP_ON_TIME = 1; // 1分钟 +uint32_t FLUSH_HIGH_PUMP_OFF_TIME = 150; // 150分钟 +uint32_t FLUSH_HIGH_FAN_ON_TIME = 40; // 40分钟 +uint32_t FLUSH_HIGH_FAN_OFF_TIME = 2; // 2分钟 +uint32_t FLUSH_LOW_FAN_ON_TIME = 5; // 5分钟 +uint32_t FLUSH_LOW_FAN_OFF_TIME = 25; // 25分钟 +uint32_t FLUSH_FIRST_LOW_FAN_ON = 40; // 40分钟 +uint32_t FLUSH_FIRST_LOW_FAN_OFF = 2; // 2分钟 //灌溉模式时间参数 -uint32_t HIGH_LEVEL_PUMP_ON_TIME = 3; // 1分钟 -uint32_t HIGH_LEVEL_PUMP_OFF_TIME = 1; // 120分钟 -uint32_t HIGH_LEVEL_FAN_ON_TIME = 2; // 20分钟 -uint32_t HIGH_LEVEL_FAN_OFF_TIME = 3; // 5分钟 -uint32_t FIRST_LOW_FAN_ON_TIME = 1; // 10分钟 -uint32_t FIRST_LOW_FAN_OFF_TIME = 2; // 10分钟 -uint32_t LOW_LEVEL_FAN_ON_TIME = 3; // 5分钟 -uint32_t LOW_LEVEL_FAN_OFF_TIME = 1; // 40分钟 +uint32_t HIGH_LEVEL_PUMP_ON_TIME = 1; // 1分钟 +uint32_t HIGH_LEVEL_PUMP_OFF_TIME = 120; // 120分钟 +uint32_t HIGH_LEVEL_FAN_ON_TIME = 20; // 20分钟 +uint32_t HIGH_LEVEL_FAN_OFF_TIME = 5; // 5分钟 +uint32_t FIRST_LOW_FAN_ON_TIME = 10; // 10分钟 +uint32_t FIRST_LOW_FAN_OFF_TIME = 10; // 10分钟 +uint32_t LOW_LEVEL_FAN_ON_TIME = 5; // 5分钟 +uint32_t LOW_LEVEL_FAN_OFF_TIME = 40; // 40分钟 // 特殊模式变量 -uint32_t SPECIAL_INITIAL_STOP_TIME = 2; // 24小时 = 1440分钟 前5分钟 -uint32_t SPECIAL_FIRST_PHASE_TIME = 9; // 48小时 = 2880分钟 后六分钟 -uint32_t SPECIAL_PUMP_RUN_TIME = 2; // 前1分钟运行 -uint32_t SPECIAL_FIRST_STOP_TIME = 1; // 前359分钟停止 -uint32_t SPECIAL_SECOND_PHASE_TIME =9; // 48小时 = 2880分钟 -uint32_t SPECIAL_SECOND_STOP_TIME = 2; // 239分钟停止 +uint32_t SPECIAL_INITIAL_STOP_TIME = 1440; // 24小时 = 1440分钟 前5分钟 +uint32_t SPECIAL_FIRST_PHASE_TIME = 2880; // 48小时 = 2880分钟 后六分钟 +uint32_t SPECIAL_PUMP_RUN_TIME = 1; // 前1分钟运行 +uint32_t SPECIAL_FIRST_STOP_TIME = 360; // 前359分钟停止 +uint32_t SPECIAL_SECOND_PHASE_TIME =1; // 48小时 = 2880分钟 +uint32_t SPECIAL_SECOND_STOP_TIME = 240; // 239分钟停止 diff --git a/App/SaveTime/Save_Time.c b/App/SaveTime/Save_Time.c index ecd9459..fd6ec69 100644 --- a/App/SaveTime/Save_Time.c +++ b/App/SaveTime/Save_Time.c @@ -66,5 +66,52 @@ void Time_Load(void) Inf_AT24C02_ReadBytes(TIME_ADDR_IRRIG_LOW_FAN_OFF, (uint8_t*)&LOW_LEVEL_FAN_OFF_TIME, sizeof(uint32_t)); Inf_AT24C02_ReadBytes(TIME_ADDR_IRRIG_FIRST_LOW_ON, (uint8_t*)&FIRST_LOW_FAN_ON_TIME, sizeof(uint32_t)); Inf_AT24C02_ReadBytes(TIME_ADDR_IRRIG_FIRST_LOW_OFF, (uint8_t*)&FIRST_LOW_FAN_OFF_TIME, sizeof(uint32_t)); + + // 检查值是否有效,如果无效则设置默认值 + if(DIRECT_HIGH_PUMP_ON_TIME == 0xFFFFFFFF || DIRECT_HIGH_PUMP_ON_TIME == 0) + { + // 直排模式默认值 + DIRECT_HIGH_PUMP_ON_TIME = 1; // 1分钟 + DIRECT_HIGH_PUMP_OFF_TIME = 150; // 150分钟 + DIRECT_HIGH_FAN_ON_TIME = 40; // 40分钟 + DIRECT_HIGH_FAN_OFF_TIME = 2; // 2分钟 + DIRECT_LOW_FAN_ON_TIME = 10; // 10分钟 + DIRECT_LOW_FAN_OFF_TIME = 20; // 20分钟 + DIRECT_FIRST_LOW_FAN_ON = 40; // 40分钟 + DIRECT_FIRST_LOW_FAN_OFF = 2; // 2分钟 + + // 冲厕模式默认值 + FLUSH_HIGH_PUMP_ON_TIME = 1; // 1分钟 + FLUSH_HIGH_PUMP_OFF_TIME = 150; // 150分钟 + FLUSH_HIGH_FAN_ON_TIME = 40; // 40分钟 + FLUSH_HIGH_FAN_OFF_TIME = 2; // 2分钟 + FLUSH_LOW_FAN_ON_TIME = 5; // 5分钟 + FLUSH_LOW_FAN_OFF_TIME = 25; // 25分钟 + FLUSH_FIRST_LOW_FAN_ON = 40; // 40分钟 + FLUSH_FIRST_LOW_FAN_OFF = 2; // 2分钟 + + // 灌溉模式默认值 + HIGH_LEVEL_PUMP_ON_TIME = 1; // 1分钟 + HIGH_LEVEL_PUMP_OFF_TIME = 120; // 120分钟 + HIGH_LEVEL_FAN_ON_TIME = 20; // 20分钟 + HIGH_LEVEL_FAN_OFF_TIME = 5; // 5分钟 + FIRST_LOW_FAN_ON_TIME = 10; // 10分钟 + FIRST_LOW_FAN_OFF_TIME = 10; // 10分钟 + LOW_LEVEL_FAN_ON_TIME = 5; // 5分钟 + LOW_LEVEL_FAN_OFF_TIME = 40; // 40分钟 + + // 特殊模式默认值 + SPECIAL_INITIAL_STOP_TIME = 1440; // 24小时 = 1440分钟 + SPECIAL_FIRST_PHASE_TIME = 2880; // 48小时 = 2880分钟 + SPECIAL_PUMP_RUN_TIME = 1; // 1分钟 + SPECIAL_FIRST_STOP_TIME = 360; // 360分钟 + SPECIAL_SECOND_PHASE_TIME = 1; // 1分钟(如需48小时请改为2880) + SPECIAL_SECOND_STOP_TIME = 240; // 240分钟 + + + + // 保存默认值到EEPROM + Time_Save(); + } } diff --git a/MDK-ARM/.vscode/keil-assistant.log b/MDK-ARM/.vscode/keil-assistant.log index b9eba31..c85c479 100644 --- a/MDK-ARM/.vscode/keil-assistant.log +++ b/MDK-ARM/.vscode/keil-assistant.log @@ -228,3 +228,5 @@ [info] Log at : 2025/4/15|15:07:28|GMT+0800 +[info] Log at : 2025/4/16|10:10:07|GMT+0800 +