#include "system.h" #include #include volatile uint64_t ticks; void sys_tick_handler(void) { ticks++; } uint64_t sys_ticks_get(void) { return ticks; } void sys_tick_setup(void) { /* Make sure clocks are setup */ ticks = 0; systick_set_clocksource(STK_CSR_CLKSOURCE_AHB); systick_set_frequency(1000, 72000000); systick_clear(); systick_interrupt_enable(); systick_counter_enable(); return; } void delay_ms(uint64_t ms) { uint64_t start = sys_ticks_get(); while ((sys_ticks_get() - start) < ms); }