Stm32启动前如何设置TIM5的计数器值?

问题描述 投票:0回答:1

我目前正在使用Stm32F446Ret6板进行一个涉及启动定时器的项目,我正在使用Tim5。我面临的问题是 __HAL_TIM_SET_COUNTER(&htim5, 2000);没有将 tim5 的计数器值设置为 2000。

__HAL_TIM_SET_AUTORELOAD(&htim5, 36000000*processLimit[6]);
__HAL_TIM_SET_COUNTER(&htim5, 2000);
HAL_TIM_Base_Start_IT(&htim5);

自动重载和中断功能工作得很好,但计数器设置功能给我带来了问题

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim);

上面的功能也可以正常工作,

可能是什么问题?

timer stm32 counter microcontroller stm32cubeide
1个回答
0
投票

   uint32_t counter_value = __HAL_TIM_GET_COUNTER(&htim5);
   ElapsedTime = (int)counter_value/10000;
   sprintf(command, "SElapsedTime.val=%d", ElapsedTime);
   SendToNextion(command);

我错误地将计数器值显示为 int,我想这就是为什么它在启动计时器时显示 0,因为我设置的计数器值是 2000

© www.soinside.com 2019 - 2024. All rights reserved.