STM32F7定时计算公式及TIM3配置

Tout = ((Counter Period+1)*(Prescaler +1)) / Tclk ;

其中:

Tclk:定时器的输入时钟频率,如108MHz==108000000

Tout:定时器溢出时间,如1s

 则Counter Period可以为10000 - 1,Prescaler可以为10800 - 1

则最终TIM3的定时器频率为10000Hz,一个脉冲的时间为1/10000s,则若要定时1s,则自动重载寄存器设置为10000-1(如要定时0.2s,则自动重装寄存器设置为0.2/(1/10000)-1.即2000-1)。


利用CubeMX配置时首先确认TIM3是挂载在哪条总线上,查找STM32F7的参考手册,可以看到是挂载到APB1上

在Pinout选项卡中,选择TIM3,Clock Source选择Internal Clock

切换到Clock Configuration选项卡,PLL Source Mux中选择HSI,System Clock Mux中选择PLLCLK,此时HCLK显示最大为216MHz,输入216后,其他的系数会自动分配

切换到Configuration选项卡,在Control中会出现TIM3,点击TIM3后,在Parameter Settings选项卡中填入Prescaler和Counter Period,比如108MHz为定时器TIM3输入时钟频率,若定时时间为1s,则Counter Period可以设置为10000-1,而Prescaler可以设置为10800-1。

然后不要忘记使能定时器中断,可以在TIM3的NVIC Settings选项卡中使能,也可以在NVIC中使能

 

猜你喜欢

转载自blog.csdn.net/wofreeo/article/details/89088280