#include "Ozone.h" // 臭氧控制变量 uint8_t ozone_running = 0; // 默认不运行 uint32_t ozone_timer = 0; // 臭氧计时器 uint32_t OZONE_ON_TIME = 1; // 运行1分钟 uint32_t OZONE_OFF_TIME = 1; // 停止1分钟 void Ozone_Init(void) { ozone_running = 1; // 上电直接启动 ozone_timer = 0; // 初始化计时器 Ozone_Control(1); // 初始状态直接开启 // printf("Ozone Init OK, starting immediately\n"); } void Ozone_Control_Update(void) { if(ozone_running) { // 按1分钟开1分钟关的逻辑运行 if(ozone_timer <= OZONE_ON_TIME) { Ozone_Control(1); // 直接控制,不需要中间变量 // printf("臭氧运行中: %d秒\n", ozone_timer); } else if(ozone_timer <= (OZONE_ON_TIME + OZONE_OFF_TIME)) { Ozone_Control(0); // printf("臭氧暂停中: %d秒\n", ozone_timer); } else { ozone_timer = 0; // 重置计时器,开始新循环 Ozone_Control(1); // printf("臭氧开始新循环\n"); } } else { // 远程控制关闭时,保持关闭状态 Ozone_Control(0); // printf("臭氧已关闭(远程控制)\n"); } }