STM32 定时器频率' p. V1 U( H7 k* |
, W3 X3 Q4 H: U' d4 e ( V. b7 g5 t2 |; ]: q 定时时间 = 定时器频率 / 倍频 /装载周期3 H/ U& \# e" F' w6 ^ 0 Z3 x- F, x+ d$ i5 _: g) P
tim = 72x10^6 / (72-1)/ 110001000 = 1us ( n+ q4 P8 s1 N6 q3 t3 v 根据定时器时钟的频率,比如时钟的频率是72MHZ,可以理解为一秒钟STM32会自己数72M次,预分频系数就是将频率分割,比如分频系数是72,则该时钟的频率会变成72MHZ/72=1MHZ,但是在设置的时候要注意,数值应该是72-1。假定分频系数是72-1,那么频率变成1MHZ,也就意味着STM32在一秒钟会数1M次,即1us数一次。好了,接下来就是确定预装载值,比如需要定时1ms,由于1ms=1us*1000,那么预装载值就是1000-1;如此类推,在预分频系数确定的情况下,定时的时长就由预装载值确定了。至于要把值减一的原因,估计是计数是从0开始,所以要减一。 * Q- D0 m, e, {# l6 f# K 例子+ E: ~4 t c* B T$ u# _
公式 对定时器周期公式的理解:: i/ |3 P) u% m- f; a2 U5 Z
其中TCK为时钟频率,PSC为时钟预分频系数,arr为自动重装载值。
Tck/(psc+1)即为时钟频率,1/f为机器周期,乘以(arr+1)即可得出定时器周期。" b- ^* B+ j% N9 _) K+ z 例子:TCK=72MHZ,psc=71.时钟周期=1us.(arr+1)值为多少,定时器周期就为多少毫秒。- X( x& m" _: Y" w7 V* d ———————————————— 版权声明:静思心远 如有侵权请联系删除 $ c) [# N! g4 m/ O* a2 F, z |
经验分享 | 利用TIMER定时和捕获功能实现编解码演示
STM32 LSE 不起振排查指南:五大核心原因与快速解决方案
我心中的ST中文论坛
经验分享 | 利用STM32 TIMER实现同频跟随输出示例
2025软件工具兔哥知道
经验分享 | 利用STM32 TIMER实现同频跟随输出示例
经验分享 | 一个基于TIMER事件的中断响应话题_续
经验分享 | 一个基于TIMER事件的中断响应话题
11张图学会STM32定时器!
经验分享 | STM32U5系列TIMER+DMA+DAC应用演示
微信公众号
手机版