Files
RTOS/CPU/ARM_Cortex_M3/os_loopdelay.c
T

25 lines
643 B
C
Raw Normal View History

2026-05-19 11:49:22 +08:00
#include <os_loopdelay.h>
#if defined (__CC_ARM) /*!< ARM Compiler */
__asm void os_loop_delay(unsigned long ulCount)
{
subs r0, #1;
bne os_loop_delay;
bx lr;
}
#elif defined ( __ICCARM__ ) /*!< IAR Compiler */
void os_loop_delay(unsigned long ulCount)
{
__asm(" subs r0, #1 \n"
" bne.n os_loop_delay \n"
" bx lr");
}
#elif defined (__GNUC__) /*!< GNU Compiler */
__attribute__((naked))
void os_loop_delay(unsigned long ulCount){
__asm(" subs r0, #1 \n"
" bne os_loop_delay \n"
" bx lr");
}
#endif /* __CC_ARM */