diff --git a/global.c b/global.c index bd39b73..cfef145 100644 --- a/global.c +++ b/global.c @@ -164,12 +164,12 @@ inline void led_toggle(void) void sleep_us(uint32_t duration) { - if (duration <= 5) { // less than the setup time - for (volatile uint32_t nop = 0; nop < 5 * duration; nop++); // busy loop, approximate, hand tuned for 72 MHz system clock + if (duration <= 4) { // less than the setup time + for (volatile uint32_t nop = 0; nop < 5 * duration; nop++); // busy loop, approximate return; } - duration -= 5; // subtract setup time + duration -= 4; // subtract setup time systick_counter_disable(); // disable SysTick to reconfigure it if (!systick_set_frequency(1000000, rcc_ahb_frequency)) { // set SysTick frequency to microseconds while (true); // unhandled error