#include #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 */