
Tout = ((Counter Period+1)*(Prescaler +1)) / Tclk ; 其中:$ T' I. e; @ N! l/ n Tclk:定时器的输入时钟频率,如108MHz==108000000 . t2 m$ `; w5 V( d1 M+ B' i) R5 t+ h 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)。1 P+ L" b3 G' a) w- C6 C d' k" B 利用CubeMX配置时首先确认TIM3是挂载在哪条总线上,查找STM32F7的参考手册,可以看到是挂载到APB1上 ; g" k k1 |+ i ![]() 在Pinout选项卡中,选择TIM3,Clock Source选择Internal Clock: V1 y7 d+ q1 [% h% w 8 D. y' h( n9 Q/ y5 K3 r; q& U ![]() 切换到Clock Configuration选项卡,PLL Source Mux中选择HSI,System Clock Mux中选择PLLCLK,此时HCLK显示最大为216MHz,输入216后,其他的系数会自动分配, u5 A- V' F; n* E5 D9 r3 Y4 B ![]() - k3 E# l0 \+ |( O; E 切换到Configuration选项卡,在Control中会出现TIM3,点击TIM3后,在Parameter Settings选项卡中填入Prescaler和Counter Period,比如108MHz为定时器TIM3输入时钟频率,若定时时间为1s,则Counter Period可以设置为10000-1,而Prescaler可以设置为10800-1。 ![]() % M. A: h3 S6 f- V' i/ N 然后不要忘记使能定时器中断,可以在TIM3的NVIC Settings选项卡中使能,也可以在NVIC中使能 0 {& v) f. S+ z, X: ~ ![]() ![]() : L9 e- E: f2 b, ?" ~, }. c |
【实战经验】基于STM32F7的网络时间同步例程
STM32硬件结构学习
STM32中BOOT的作用
【STM32F769I-DISC1】开发板刷入Micropython并完成点灯、读取内部温度测试
【STM32F769I-DISC1】测评01:创建STM32cube IDE 工程,点个灯
【STM32F769】创建deepseek本地服务,并实现http请求
汇编浮点库qfplib移植STM32F769I-DISCO开发板与硬件浮点运算性能测试对比
coremark移植到STM32F769I-DISCO开发板的两种方法
【GUI板免费申请活动】【圣诞GUI】使用F746-DISO基于TouchGFX的圣诞树
刘氓兔的杂谈【001】-片上USB 高速PHY