Led.c 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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 "gd32e230x_conf.h"
  12. static void ConfigLEDGPIO(void);
  13. #define USR_LED GPIO_PIN_14
  14. static void ConfigLEDGPIO(void)
  15. {
  16. rcu_periph_clock_enable(RCU_GPIOC);
  17. gpio_mode_set(GPIOC, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, USR_LED);
  18. gpio_output_options_set(GPIOC, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, USR_LED);
  19. gpio_bit_reset(GPIOC, USR_LED);
  20. }
  21. void InitLED(void)
  22. {
  23. ConfigLEDGPIO();
  24. }
  25. void LEDFlicker1(unsigned short cnt)
  26. {
  27. static unsigned short s_iCnt;
  28. s_iCnt++;
  29. if(s_iCnt >= cnt)
  30. {
  31. s_iCnt = 0;
  32. gpio_bit_write(GPIOC, USR_LED, 1-gpio_output_bit_get(GPIOC, USR_LED));
  33. }
  34. }
  35. void LEDFlicker2(void)
  36. {
  37. gpio_bit_toggle(GPIOC, USR_LED);
  38. }