/********************************************************************************************************* * Module : Led.c * Abstract : Led modules,while be flashing which determing of running normally ! * Version : 1.0.0 * Author : Leopul(COPYRIGHT 2025 - 2027 Leopul. All rights reserved.) * Complete : 2025-02-16 * Content : None * Note : None *********************************************************************************************************/ #include "Led.h" #include "gd32e230x_conf.h" #include "main.h" static void ConfigLEDGPIO(void); #define USR_LED GPIO_PIN_14 static void ConfigLEDGPIO(void) { rcu_periph_clock_enable(RCU_GPIOC); gpio_mode_set(GPIOC, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, USR_LED); gpio_output_options_set(GPIOC, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, USR_LED); gpio_bit_reset(GPIOC, USR_LED); } void InitLED(void) { ConfigLEDGPIO(); sts_data_t *data = get_sts(); data->led_flash = LEDFlicker2; } void LEDFlicker1(unsigned short cnt) { static unsigned short s_iCnt; s_iCnt++; if(s_iCnt >= cnt) { s_iCnt = 0; gpio_bit_write(GPIOC, USR_LED, 1-gpio_output_bit_get(GPIOC, USR_LED)); } } void LEDFlicker2(void) { gpio_bit_toggle(GPIOC, USR_LED); }