当前位置:   article > 正文

STM32 定时器 涉及到的计算总结_tclk是时钟频率还是

tclk是时钟频率还是

一:周期 时间

ARR:自动重装载值

PSC:预分频系数

TCLK:时钟频率

T(溢出时间)=(ARR+1)*(PSC+1)/Tclk

例如:Tclk=72MHz

ARR=7199

PSC=999

那么 T=7200*1000/72000000=0.1s=100ms=100000us

即每100ms溢出一次 中断计时一次

初始化定时器的时候指定我们分频系数psc,这里是将我们的系统时钟(72MHz)进行分频,然后指定重装载值arr,这个重装载值的意思就是当 我们的定时器的计数值 达到这个arr时,定时器就会重新装载其他值.

例如当我们设置定时器为向上计数时,定时器计数的值等于arr之后就会产生溢出,被清0重新计数,定时器计数的值被重装载一次被就是一个更新(Update)

T(溢出时间)=(ARR+1)*(PSC+1)/Tclk

公式推导详解:

Tclk是定时器时钟源,在这里就是72Mhz

我们将分配的时钟进行分频,指定分频值为psc,就将我们的Tclk分了psc+1,我们定时器的最终频率就是Tclk/(psc+1) MHz

这里的频率的意思就是1s中记 Tclk/(psc+1)M个数 (1M=10的6次方) ,每记一个数的时间为(psc+1)/Tclk ,很好理解频率的倒数是周期,这里每一个数的周期就是(psc+1)/Tclk 秒

然后我们从0记到arr 就是 (arr+1)*(psc+1)/Tclk

举例:比如我们设置arr=7199,psc=9999

我们将72MHz (1M等于10的6次方) 分成了(9999+1)等于 7200Hz

每记录一个数就是1/7200秒

定时器更新(7199+1)*(1/7200)=1s,也就是1s进入一次更新

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/483625
推荐阅读
相关标签
  

闽ICP备14008679号