led.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /**
  2. @copyright None
  3. @file led.h
  4. @author Comment Vivre
  5. @date 2025-12-19
  6. @brief None
  7. */
  8. #ifndef __LED_H_
  9. #define __LED_H_
  10. #include <FU65_72.h>
  11. // LED指示灯控制
  12. // ------------------------------------------------------------------------
  13. typedef struct
  14. {
  15. enum
  16. {
  17. LED_STATE_OFF = 0, // 熄灭
  18. LED_STATE_ON, // 常亮
  19. LED_STATE_FAULT_HIGH_BLINK, // 故障码高4位闪烁
  20. LED_STATE_FAULT_HIGH_GAP, // 高低位间隔 1s
  21. LED_STATE_FAULT_LOW_BLINK, // 故障码低4位闪烁
  22. LED_STATE_FAULT_CYCLE_GAP // 整个故障码显示完成,间隔 3s
  23. } ledState;
  24. uint16_t PauseDelayCnt; // 延时
  25. uint8_t BlinkCnt; // 当前闪烁次数
  26. uint8_t FaultHighBit; // 故障码 高位
  27. uint8_t FaultLowBit; // 故障码 低位
  28. } LED_Control_t;
  29. extern LED_Control_t ledCtrl;
  30. void LED_GPIO_Init(void);
  31. void LED_State_Display(unsigned char Xn0);
  32. // IO选择
  33. // ------------------------------------------------------------------------
  34. #define LED_PXIN (P2_OE) // LED所在端口组
  35. #define LED_PINX (P21) // LED端口号
  36. #define LED_PIN (GP21) // LED IO PIN
  37. #define LED_ON (LED_PIN = 0) // LED ON
  38. #define LED_OFF (LED_PIN = 1) // LED OFF
  39. #define LEDPinONOFF (LED_PIN ^= 1)
  40. extern bool data isCtrlPowOn;
  41. #endif