LEDHandler.h 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. #ifndef LED_HANDLER_H
  2. #define LED_HANDLER_H
  3. #include <Arduino.h>
  4. #include <queue> // 引入队列库
  5. // LED 引脚定义
  6. #define LED_PIN 5 // GPIO 5
  7. // 闪烁任务结构体
  8. struct BlinkTask {
  9. int blinkCount; // 闪烁次数
  10. };
  11. // 变量声明
  12. extern std::queue<BlinkTask> blinkQueue; // 闪烁任务队列
  13. extern bool isBlinking; // 是否正在执行闪烁任务
  14. extern bool isConstantOn; // 是否常亮
  15. extern unsigned long blinkStartTime; // 当前闪烁任务的开始时间
  16. extern int remainingBlinks; // 剩余闪烁次数
  17. extern int currentBlinkCount; // 当前任务的闪烁次数
  18. extern int pwmBrightness; // 当前 PWM 亮度值
  19. // 函数声明
  20. void setupLED(); // 初始化 LED
  21. void addBlinkTask(int blinkCount); // 添加闪烁任务
  22. void setConstantOn(bool constantOn); // 设置 LED 常亮或关闭
  23. void setBrightness(int brightness); // 设置 PWM 亮度
  24. void setFixedBrightness(int percentage); // 设置固定亮度(百分比)
  25. void processBlinkTasks(); // 处理闪烁任务
  26. void blinkLED(); // 控制 LED 闪烁
  27. #endif