Files
TestOS/os/delay.c
2024-11-03 12:04:40 +01:00

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));
}