diff options
Diffstat (limited to 'stmhal/mphalport.h')
-rw-r--r-- | stmhal/mphalport.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/stmhal/mphalport.h b/stmhal/mphalport.h index 02b408777..40e6fb2b4 100644 --- a/stmhal/mphalport.h +++ b/stmhal/mphalport.h @@ -35,13 +35,24 @@ NORETURN void mp_hal_raise(HAL_StatusTypeDef status); void mp_hal_set_interrupt_char(int c); // -1 to disable // timing functions + #include "stmhal/systick.h" + #define mp_hal_delay_ms HAL_Delay #define mp_hal_delay_us(us) sys_tick_udelay(us) #define mp_hal_delay_us_fast(us) sys_tick_udelay(us) #define mp_hal_ticks_ms HAL_GetTick #define mp_hal_ticks_us() sys_tick_get_microseconds() +extern bool mp_hal_ticks_cpu_enabled; +void mp_hal_ticks_cpu_enable(void); +static inline mp_uint_t mp_hal_ticks_cpu(void) { + if (!mp_hal_ticks_cpu_enabled) { + mp_hal_ticks_cpu_enable(); + } + return DWT->CYCCNT; +} + // C-level pin HAL #include "stmhal/pin.h" #define mp_hal_pin_obj_t const pin_obj_t* |