huyongji1.1-system/App/Ozone/Ozone.c

48 lines
1.2 KiB
C

#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");
}
}