#include "project.h" static volatile uint32_t delay_ms_count; void sys_tick_handler (void) { if (delay_ms_count) delay_ms_count--; } void ticker_on (void) { /*168MHz 1ms */ systick_set_reload (48000); systick_set_clocksource (STK_CSR_CLKSOURCE_AHB); systick_counter_enable(); /* this done last */ systick_interrupt_enable(); } void ticker_off (void) { systick_interrupt_disable(); systick_counter_disable(); } void delay_ms (uint32_t d) { ticker_on(); delay_ms_count = d; while (delay_ms_count); ticker_off(); }