Led.c 877 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #include "Led.h"
  2. #include "gd32e23x_gpio.h"
  3. #include "gd32e23x_rcu.h"
  4. #include "systick.h"
  5. static void ConfigLEDGPIO(void);
  6. static void ConfigLEDGPIO(void)
  7. {
  8. rcu_periph_clock_enable(USR_LED_RCU);
  9. gpio_mode_set(USR_LED_IO, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, USR_LED);
  10. gpio_output_options_set(USR_LED_IO, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, USR_LED);
  11. gpio_bit_reset(USR_LED_IO, USR_LED);
  12. }
  13. void InitLED(void)
  14. {
  15. ConfigLEDGPIO();
  16. }
  17. void LEDFlicker1(unsigned short cnt)
  18. {
  19. static unsigned short s_iCnt;
  20. s_iCnt++;
  21. if(s_iCnt >= cnt)
  22. {
  23. s_iCnt = 0;
  24. gpio_bit_write(USR_LED_IO, USR_LED, 1-gpio_output_bit_get(USR_LED_IO, USR_LED));
  25. }
  26. }
  27. void LEDFlicker2(void)
  28. {
  29. gpio_bit_toggle(USR_LED_IO, USR_LED);
  30. }