battery_display.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /**
  2. ******************************************************************************
  3. * @file battery_display.h
  4. * @brief 电池电量 LED 显示模块公共接口
  5. *
  6. * 使用双时间槽分时复用控制反并联 LED:
  7. * 每 1ms 周期 = 前 0.5ms (槽A: 正向亮) + 后 0.5ms (槽B: 反向亮)
  8. *
  9. * 4 颗电量灯映射:
  10. * 灯0 = LED12 正向 (PA8=高)
  11. * 灯1 = LED12 反向 (PA8=低)
  12. * 灯2 = LED13 正向 (PA11=高)
  13. * 灯3 = LED13 反向 (PA11=低)
  14. ******************************************************************************
  15. */
  16. #ifndef __BATTERY_DISPLAY_H
  17. #define __BATTERY_DISPLAY_H
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21. #include <stdint.h>
  22. /**
  23. * @brief 根据 g_batteryPct / g_chgIng / g_chgFull 更新电池 LED 显示状态
  24. * 在主循环或协议处理中调用
  25. */
  26. void UpdateBatteryLEDs(void);
  27. /**
  28. * @brief 双时间槽更新 (在 TIM3 中断中每 1ms 调用)
  29. * 前半程控制正向灯, 后半程控制反向灯
  30. */
  31. void BatterySlotUpdate(void);
  32. #ifdef __cplusplus
  33. }
  34. #endif
  35. #endif /* __BATTERY_DISPLAY_H */