Led.c 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /*********************************************************************************************************
  2. * Module : Led.c
  3. * Abstract : Led modules,while be flashing which determing of running normally !
  4. * Version : 1.0.0
  5. * Author : Leopul(COPYRIGHT 2025 - 2027 Leopul. All rights reserved.)
  6. * Complete : 2025-02-16
  7. * Content : None
  8. * Note : None
  9. *********************************************************************************************************/
  10. #include "Led.h"
  11. #include "gd32f30x_libopt.h"
  12. #include "main.h"
  13. static void ConfigLEDGPIO(void);
  14. #define USR_LED_RCU GPIOC
  15. #define USR_LED GPIO_PIN_6
  16. static void ConfigLEDGPIO(void)
  17. {
  18. rcu_periph_clock_enable(RCU_GPIOC);
  19. gpio_init(USR_LED_RCU,GPIO_MODE_OUT_PP,GPIO_OSPEED_50MHZ,USR_LED);
  20. gpio_bit_reset(USR_LED_RCU, USR_LED);
  21. }
  22. void InitLED(void)
  23. {
  24. ConfigLEDGPIO();
  25. // sts_data_t *data = get_sts();
  26. // data->led_flash = LEDFlicker2;
  27. }
  28. void LEDFlicker1(unsigned short cnt)
  29. {
  30. static unsigned short s_iCnt;
  31. s_iCnt++;
  32. if(s_iCnt >= cnt)
  33. {
  34. s_iCnt = 0;
  35. gpio_bit_write(GPIOC, USR_LED, 1-gpio_output_bit_get(GPIOC, USR_LED));
  36. }
  37. }
  38. void LEDFlicker2(void)
  39. {
  40. static uint8_t flag = 0;
  41. if(flag)
  42. {
  43. gpio_bit_reset(USR_LED_RCU, USR_LED);
  44. flag = 0;
  45. }else
  46. {
  47. gpio_bit_set(USR_LED_RCU, USR_LED);
  48. flag = 1;
  49. }
  50. }