/********************************************************************************************************* * Module : SysTick.c * Abstract : SysTick modules,systick be used to delay of Milliseconds or Nanoseconds ! * Version : 1.0.0 * Author : Leopul(COPYRIGHT 2025 - 2027 Leopul. All rights reserved.) * Complete : 2025-02-16 * Content : None * Note : None *********************************************************************************************************/ #include "SysTick.h" #include "gd32e230x_conf.h" static __IO unsigned int s_iTimDelayCnt = 0; static void TimDelayDec(void); static void TimDelayDec(void) { if(s_iTimDelayCnt != 0) { s_iTimDelayCnt--; } } void SysTick_Handler(void) { TimDelayDec(); } void InitSysTick( void ) { if (SysTick_Config(SystemCoreClock / 1000)) { while(1) { } } } void DelayNms(__IO unsigned int nms) { s_iTimDelayCnt = nms; while(s_iTimDelayCnt != 0) { } } void DelayNus(__IO unsigned int nus) { unsigned int s_iTimCnt = nus; unsigned short i; while(s_iTimCnt != 0) { for(i = 0; i < 3; i++) { } s_iTimCnt--; } }