diff --git a/targets/TARGET_STM/hal_tick_16b.c b/targets/TARGET_STM/hal_tick_16b.c index a617e2dd65..3515b733a7 100644 --- a/targets/TARGET_STM/hal_tick_16b.c +++ b/targets/TARGET_STM/hal_tick_16b.c @@ -57,8 +57,6 @@ void timer_oc_irq_handler(void) __HAL_TIM_CLEAR_IT(&TimMasterHandle, TIM_IT_CC2); uint32_t val = __HAL_TIM_GET_COUNTER(&TimMasterHandle); if ((val - PreviousVal) >= HAL_TICK_DELAY) { - // Increment HAL variable - HAL_IncTick(); // Prepare next interrupt __HAL_TIM_SET_COMPARE(&TimMasterHandle, TIM_CHANNEL_2, val + HAL_TICK_DELAY); PreviousVal = val; diff --git a/targets/TARGET_STM/hal_tick_32b.c b/targets/TARGET_STM/hal_tick_32b.c index 2fb605413f..f6ca787f65 100644 --- a/targets/TARGET_STM/hal_tick_32b.c +++ b/targets/TARGET_STM/hal_tick_32b.c @@ -22,8 +22,6 @@ extern TIM_HandleTypeDef TimMasterHandle; -extern void HAL_IncTick(void); - volatile uint32_t PreviousVal = 0; void us_ticker_irq_handler(void); @@ -44,8 +42,6 @@ void timer_irq_handler(void) __HAL_TIM_CLEAR_IT(&TimMasterHandle, TIM_IT_CC2); uint32_t val = __HAL_TIM_GET_COUNTER(&TimMasterHandle); if ((val - PreviousVal) >= HAL_TICK_DELAY) { - // Increment HAL variable - HAL_IncTick(); // Prepare next interrupt __HAL_TIM_SET_COMPARE(&TimMasterHandle, TIM_CHANNEL_2, val + HAL_TICK_DELAY); PreviousVal = val; diff --git a/targets/TARGET_STM/stm_common.c b/targets/TARGET_STM/stm_common.c new file mode 100644 index 0000000000..d06e2b886d --- /dev/null +++ b/targets/TARGET_STM/stm_common.c @@ -0,0 +1,7 @@ +#include "hal/us_ticker_api.h" + +// Overwrite default HAL function +uint32_t HAL_GetTick() +{ + return ticker_read_us(get_us_ticker_data()) / 1000; +}