20 lines
491 B
C
20 lines
491 B
C
|
|
#include "utils.h"
|
||
|
|
|
||
|
|
// this just burns cycles.
|
||
|
|
// the volatile is important, it means that the cpu can't optimize any
|
||
|
|
// read/writes for the value
|
||
|
|
static inline void spin_loop(volatile uint16_t counts) {
|
||
|
|
while (counts)
|
||
|
|
counts--;
|
||
|
|
}
|
||
|
|
|
||
|
|
void delay_ms(uint16_t ms) {
|
||
|
|
while (ms) {
|
||
|
|
// this value was taken using a delay of 500ms, and just recording the led
|
||
|
|
// blinking. it seems to be high enough such that each loop of delay_loop
|
||
|
|
// takes 1ms :D
|
||
|
|
spin_loop((F_CPU) / 5000);
|
||
|
|
ms--;
|
||
|
|
}
|
||
|
|
}
|