diff --git a/radio/src/targets/common/arm/stm32/stm32_pulse_driver.cpp b/radio/src/targets/common/arm/stm32/stm32_pulse_driver.cpp index b339e09f14e..dbcb470b407 100644 --- a/radio/src/targets/common/arm/stm32/stm32_pulse_driver.cpp +++ b/radio/src/targets/common/arm/stm32/stm32_pulse_driver.cpp @@ -70,7 +70,11 @@ void stm32_pulse_init(const stm32_pulse_timer_t* tim, uint32_t freq) } timInit.Prescaler = __LL_TIM_CALC_PSC(tim->TIM_Freq, freq); - timInit.Autoreload = STM32_DEFAULT_TIMER_AUTORELOAD; + if (IS_TIM_32B_COUNTER_INSTANCE(tim->TIMx)) { + timInit.Autoreload = 0xFFFFFFFFUL; + } else { + timInit.Autoreload = STM32_DEFAULT_TIMER_AUTORELOAD; + } enable_tim_clock(tim->TIMx); LL_TIM_Init(tim->TIMx, &timInit);