
STM32 定时器频率$ k5 s# S# q5 |! W# n2 l & i* ~" s) t& M 4 _; k' _7 }3 q: w7 H0 { ![]() 定时时间 = 定时器频率 / 倍频 /装载周期
tim = 72x10^6 / (72-1)/ 110001000 = 1us3 t, F3 @# G3 l" @" B- ^ : q' @6 O. ^$ y9 P( e: x, Z$ E 根据定时器时钟的频率,比如时钟的频率是72MHZ,可以理解为一秒钟STM32会自己数72M次,预分频系数就是将频率分割,比如分频系数是72,则该时钟的频率会变成72MHZ/72=1MHZ,但是在设置的时候要注意,数值应该是72-1。假定分频系数是72-1,那么频率变成1MHZ,也就意味着STM32在一秒钟会数1M次,即1us数一次。好了,接下来就是确定预装载值,比如需要定时1ms,由于1ms=1us*1000,那么预装载值就是1000-1;如此类推,在预分频系数确定的情况下,定时的时长就由预装载值确定了。至于要把值减一的原因,估计是计数是从0开始,所以要减一。+ @9 x! |# u$ P0 f B* H3 E6 g 例子
公式8 D' J: T3 z/ B4 R+ `, T 对定时器周期公式的理解:
其中TCK为时钟频率,PSC为时钟预分频系数,arr为自动重装载值。
Tck/(psc+1)即为时钟频率,1/f为机器周期,乘以(arr+1)即可得出定时器周期。( p; n" x2 s# z* F6 X: U K4 g) P 例子:TCK=72MHZ,psc=71.时钟周期=1us.(arr+1)值为多少,定时器周期就为多少毫秒。" i5 C# m3 W% S; H0 t% Y* ] ———————————————— 版权声明:静思心远6 w+ H- F4 ~% A/ Y( E1 s! p 如有侵权请联系删除$ O1 F7 C+ B2 K5 t+ G; c0 P' F / G5 Y! p Q! [9 j |
基于定时器捕获测量脉宽的应用示例
狂欢三】STM32C031使用TIM定时器DMA方式实现WS2812彩灯输出(三)
【狂欢三】STM32C031使用TIM定时器DMA方式实现PWM输出(二)
【狂欢三】STM32C031使用TIM定时器PWM输出
stm32使用定时器触发dma传输,启动dma没反应的几种情况的解决方法
定时器剩余通道是否可以做PWM输出呢?
基于STM32双定时器+ADC+DMA实战经验分享
基于STM32的定时器触发ADC时可能遇到的情形
【NUCLEO-U545RE-Q评测】5. 基本计时器
基于STM32的定时器不按设定超时产生中断