#ifndef __CORE_DELAY_H #define __CORE_DELAY_H //#include "device_drv_config.h" /* 获取内核时钟频率 */ #define GET_CPU_ClkFreq() GetSysClocksFreq() #define SysClockFreq (180000000) //获取系统主频 uint32_t GetSysClocksFreq (void); /* 为方便使用,在延时函数内部调用CPU_TS_TmrInit 函数初始化时间戳寄存器, 这样每次调用函数都会初始化一遍。 把本宏值设置为0,然后在main 函数刚运行时调用CPU_TS_TmrInit 可避免每次都初始化 */ #define CPU_TS_INIT_IN_DELAY_FUNCTION 0 /***************************************************************** * 函数声明 **************************************************************/ uint32_t CPU_TS_TmrRd(void); HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority); //使用以下函数前必须先调用CPU_TS_TmrInit 函数使能计数器,或使能宏CPU_TS_INIT_IN_DELAY_FUNCTION //最大延时值为8 秒 void CPU_TS_Tmr_Delay_US(uint32_t us); #define HAL_Delay(ms) CPU_TS_Tmr_Delay_US(ms*1000) (3) #define CPU_TS_Tmr_Delay_S(s) CPU_TS_Tmr_Delay_MS(s*1000) #endif /* __CORE_DELAY_H */