#include"gd32f30x.h"#include"gd32f307c_eval.h"#include"systick.h"#include"main.h"voidled_config(void);voidnvic_configuration(void);voidrtc_configuration(void);voidfwdgt_configuration(void);/* software delay to prevent the impact of Vcore fluctuations.
It is strongly recommended to include it to avoid issues caused by self-removal. */staticvoid_soft_delay_(uint32_ttime){__IOuint32_ti;for(i=0;i<time*10;i++){}}intmain(void){/* nvic configuration */nvic_configuration();/* LED configuration */led_config();/* systick configuration */systick_config();gd_eval_led_on(LED5);delay_1ms(2000U);gd_eval_led_off(LED5);/* RTC configuration */rtc_configuration();/* FWDGT configuration */fwdgt_configuration();while(1){delay_1ms(50U);/* The following is to prevent Vcore fluctuations caused by frequency switching.
It is strongly recommended to include it to avoid issues caused by self-removal. */_soft_delay_(0x50);rcu_ahb_clock_config(RCU_AHB_CKSYS_DIV2);_soft_delay_(0x50);rcu_ahb_clock_config(RCU_AHB_CKSYS_DIV4);_soft_delay_(0x50);rcu_ahb_clock_config(RCU_AHB_CKSYS_DIV8);_soft_delay_(0x50);rcu_ahb_clock_config(RCU_AHB_CKSYS_DIV16);_soft_delay_(0x50);rcu_system_clock_source_config(RCU_CKSYSSRC_IRC8M);_soft_delay_(200);rcu_ahb_clock_config(RCU_AHB_CKSYS_DIV1);/* PMU enters deepsleep mode */pmu_to_deepsleepmode(PMU_LDO_LOWPOWER,PMU_LOWDRIVER_DISABLE,WFI_CMD);gd_eval_led_toggle(LED2);}}voidled_config(void){gd_eval_led_init(LED2);gd_eval_led_init(LED5);}