| 123456789101112131415161718192021222324252627282930313233 |
- #ifndef LED_HANDLER_H
- #define LED_HANDLER_H
- #include <Arduino.h>
- #include <queue> // 引入队列库
- // LED 引脚定义
- #define LED_PIN 5 // GPIO 5
- // 闪烁任务结构体
- struct BlinkTask {
- int blinkCount; // 闪烁次数
- };
- // 变量声明
- extern std::queue<BlinkTask> blinkQueue; // 闪烁任务队列
- extern bool isBlinking; // 是否正在执行闪烁任务
- extern bool isConstantOn; // 是否常亮
- extern unsigned long blinkStartTime; // 当前闪烁任务的开始时间
- extern int remainingBlinks; // 剩余闪烁次数
- extern int currentBlinkCount; // 当前任务的闪烁次数
- extern int pwmBrightness; // 当前 PWM 亮度值
- // 函数声明
- void setupLED(); // 初始化 LED
- void addBlinkTask(int blinkCount); // 添加闪烁任务
- void setConstantOn(bool constantOn); // 设置 LED 常亮或关闭
- void setBrightness(int brightness); // 设置 PWM 亮度
- void setFixedBrightness(int percentage); // 设置固定亮度(百分比)
- void processBlinkTasks(); // 处理闪烁任务
- void blinkLED(); // 控制 LED 闪烁
- #endif
|