48 lines
1.2 KiB
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");
|
|
}
|
|
}
|
|
|
|
|