你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32定时计算定时器经验分享

[复制链接]
攻城狮Melo 发布时间:2023-5-1 15:08
STM32 定时器频率$ k5 s# S# q5 |! W# n2 l
& i* ~" s) t& M
4 _; k' _7 }3 q: w7 H0 {
b4cc8fedd9cc437a844c7de367a4b6ee.png % k3 x6 p' E( O  h% z' J

% a3 z0 E9 Z( k) G1 K

# M4 T! t! Y3 I, Y8 Y4 }定时时间 = 定时器频率 / 倍频 /装载周期
( T" A, e# u! s/ L" G
5 J* q. o4 F4 y+ G

1 }  u4 x: b" ?: G- u
  1. htim1.Init.Prescaler = 72-1;' C1 ~8 d7 G% T$ \
  2.   htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
    , y6 h- }: k0 j9 B( y8 j
  3.   htim1.Init.Period = 1*1000*1000;/ F; D; c& K6 Q  ]1 j! U& v
复制代码
6 Q. _0 ]( M: ?. `; ^
tim = 72x10^6 / (72-1)/ 110001000 = 1us3 t, F3 @# G3 l" @" B- ^
: q' @6 O. ^$ y9 P( e: x, Z$ E

  i9 z  g: A- s! k6 G' A根据定时器时钟的频率,比如时钟的频率是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

$ Y& z" }4 d; e7 z2 {, J% n例子
. l$ c5 f# A0 j/ Z6 W
  1. //对于71MHZ的频率,500ms中断一次,这两个参数设置如下:
    ) f4 T9 t( c- k2 O, S
  2. TIM_Prescaler=7199;   //预分频值
    5 I8 ^4 I% _( P; {
  3. TIM_Period=4999;    //下一个更新事件装入活动的自动重装载寄存器周期的值
    - }/ Y0 c) D0 [& t
  4. / d3 L$ t- h8 ]
  5.    //分频7200,用72000000/7200=10000Hz
    - L2 F# }$ c$ ?' I2 w
  6.    //此时的周期就是1/10000=0.0001s
    $ l4 ~, O9 s$ ^6 U' J# V
  7.    //500ms=0.0001s*5000次7 }% N6 F. v- L% q
  8.    //5000-1=4999次
    ' H& z4 \) ?3 u
  9.    //即通过4999次系统的运行,就是500ms
    - M( O# s7 k" Y4 I
复制代码
9 K' j! G4 G: ^
公式8 D' J: T3 z/ B4 R+ `, T
对定时器周期公式的理解:
) D' G" E3 e, k4 I8 m& b" K1 W* P
  1. T=(arr+1)*(PSC+1)/Tck  
    ' Z7 Z4 D6 `$ @6 m' `; g* ~
复制代码

2 c; e# v" T; m% Z8 d' O7 o: u. c其中TCK为时钟频率,PSC为时钟预分频系数,arr为自动重装载值。
! a$ U  L$ N4 l4 {
  1. f=Tck/(psc+1)*(arr+1)
    ! ?" o% O7 S$ w& K  X. [
复制代码

8 N7 D! ]( p; m% U% ~1 oTck/(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* ]
————————————————
2 r" C/ Y. A. i9 P版权声明:静思心远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

# B$ c" w" I8 j& c; `
收藏 评论0 发布时间:2023-5-1 15:08

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版