19 lines
389 B
C
19 lines
389 B
C
#define CLOCK_FREQUENCY 120000
|
|
|
|
unsigned int ms_to_ticks(unsigned int ms) {
|
|
return ms * (CLOCK_FREQUENCY/3);
|
|
}
|
|
|
|
void delay_routine(unsigned int delay_counter) {
|
|
asm("mov r1, %[input]\n"
|
|
"loop_2:\n"
|
|
"subs r1, #1\n"
|
|
"cmp r1, #0\n"
|
|
"bne loop_2\n"
|
|
: [input] "=r" (delay_counter));
|
|
}
|
|
|
|
void delay_ms(unsigned int seconds) {
|
|
delay_routine(ms_to_ticks(seconds));
|
|
}
|