25 lines
643 B
C
25 lines
643 B
C
#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 */ |