STMCU小助手
发布时间:2021-12-10 10:52
|
Tout = ((Counter Period+1)*(Prescaler +1)) / Tclk ; ' d/ m$ |$ J+ ~0 v) O 其中:: c" S! Y3 R/ L. f( Q2 v0 j& B 3 R3 |6 d2 j, n# s' J# Z( [( y6 | Tclk:定时器的输入时钟频率,如108MHz==108000000, u8 b+ K, }1 b% } Tout:定时器溢出时间,如1s: }% P1 B; @9 ] i0 J) S 则Counter Period可以为10000 - 1,Prescaler可以为10800 - 1 3 _8 H: n/ T( R+ V/ T- {$ A$ ] 则最终TIM3的定时器频率为10000Hz,一个脉冲的时间为1/10000s,则若要定时1s,则自动重载寄存器设置为10000-1(如要定时0.2s,则自动重装寄存器设置为0.2/(1/10000)-1.即2000-1)。 利用CubeMX配置时首先确认TIM3是挂载在哪条总线上,查找STM32F7的参考手册,可以看到是挂载到APB1上) z# l' Z) S. P
在Pinout选项卡中,选择TIM3,Clock Source选择Internal Clock) w% V$ I" Z- n* C# v# h6 t! @
切换到Clock Configuration选项卡,PLL Source Mux中选择HSI,System Clock Mux中选择PLLCLK,此时HCLK显示最大为216MHz,输入216后,其他的系数会自动分配 , D' ?6 j- {2 @$ u! ]0 D" R
2 W) @# q: E. G1 H+ Q! M# { R 切换到Configuration选项卡,在Control中会出现TIM3,点击TIM3后,在Parameter Settings选项卡中填入Prescaler和Counter Period,比如108MHz为定时器TIM3输入时钟频率,若定时时间为1s,则Counter Period可以设置为10000-1,而Prescaler可以设置为10800-1。
然后不要忘记使能定时器中断,可以在TIM3的NVIC Settings选项卡中使能,也可以在NVIC中使能' o+ _* ^$ Y# U. s! r - X/ e: b* A8 M8 @) j q
8 h+ d! Q. U! v2 e+ M! a( J& Z9 J 1 T. T3 W$ Z: ^+ A! R |
基于STM32F767通过cube配置:QSPI接口读写64M PSRAM+flash参考资料...
STM32F746G-DISCO移植lvgl9.0性能基准测试
STM32F745 USART1 Bootloader启动失败排查与解决的流程分析
STM32芯片命名规则
STM32 引脚到底有多少?为什么一个引脚能当好几个用?
入门嵌入式,为什么STM32是“优选起步”?
嵌入式-单片机-STM32 EXTI中断
STM32单片机进行除零运算,为何程序不崩溃?
STM32 LL为什么比HAL高效?
STM32时钟详解
微信公众号
手机版