#ifndef INCLUDED_OS_LOOPDELAY_H #define INCLUDED_OS_LOOPDELAY_H #ifndef INCLUDED_OS_TYPES_H #include #endif /*INCLUDED_OS_TYPES_H*/ #define OS_LOOP_DELAY_US(n) (n * SystemCoreClock/3000000) #define OS_LOOP_DELAY_MS(n) (n * SystemCoreClock/3000) #define OS_LOOP_DELAY_S(n) (n * SystemCoreClock/3) /* 72Mhz时钟时,当ulCount为1时,函数耗时3个时钟,延时=3*1/72us=1/24us SystemCoreClock=72000000 us级延时,延时n微秒 LoopDelay(n*(SystemCoreClock/3000000)); ms级延时,延时n毫秒 LoopDelay(n*(SystemCoreClock/3000)); m级延时,延时n秒 LoopDelay(n*(SystemCoreClock/3)); */ void os_loop_delay(unsigned long ulCount); #define OS_LoopDelayUS(n) os_loop_delay(OS_LOOP_DELAY_US(n)) #define OS_LoopDelayMS(n) os_loop_delay(OS_LOOP_DELAY_MS(n)) #define OS_LoopDelayS(n) os_loop_delay(OS_LOOP_DELAY_S(n)) #endif /*INCLUDED_OS_LOOPDELAY_H*/