Tout= ((arr+1)*(psc+1))/Tclk公式理解汇总

先看看别人的解释:

一、引用自百度知道:江北苏东坡
Tout= ((arr+1)*(psc+1))/Tclk:

其中arr为你重装的值,

psc是预分频计时器的值,

Tclk是时钟频率

(psc+1))/Tclk*1是计算的计数器 减少/增加 一个数所用的时间;

那么(psc+1))/Tclk*(arr+1)就是一次定时器的时间:

然后继续重装arr再次计数,计时:

就构成一个循环;

自己补充:(psc+1和arr+1原因 假设我想让arr自动重装载值为 第5000次 溢出,而实际计数则是从0开始到4999结束刚好5000个数,但是带入公式计算如果写4999则少了一次,所以要加一,psc要加一则是因为数据手册上的硬性规定(具体为啥不知道。。有大神知道可以解释一下哈 感谢!)

二、引用自百度知道:聪明就是这样
举例:
Tout= ((arr+1)(psc+1))/Tclk;就可以了,比如Tout=(4999+1)(7199+1)/72000000=0.5s,也就是说你的中断时间为0.5s.

三、我的解释:
搞明白四个点之间的一些关系:
系统时钟跳一下
计时器时钟跳一下
预分频系数
重装载值

1、系统时钟跳一下和计时器时钟跳一下的关系:假设系统时钟周期为T,2分频后得到的计时器时钟周期则为2T,那么系统时钟跳两下计时器时钟才跳一下(Ps:分频就是分走频率,得到比原频率小的时钟频率,周期则变大了)

2、计时器时钟跳一下和重装载值的关系:计时器时钟每跳调一下就越接近重装载值(PS:越接近:向上/向下计数),等计时器时钟跳了重装载值那么多下的时候就出现更新中断并且计时器时钟跳的次数又清零了,从新开始跳,循环

3、总的关系就是:系统时钟被几分频则计时器时钟的周期就是系统时钟周期的几倍,得到的计时器时钟周期乘上要跳多少次(重装载值),就是发生一次溢出中断的时间。

说明一下: 每次的自动重装载值根据具体需求可能不同,例如只让led在同等时间闪烁/熄灭可以让自动重装载值不变,但如果是输出pwm信号的话那么自动重装载值会在一定范围内变动,使电压变化。

五、引自Openedv:利刃190
我们先认为arr+1=arr,psc+1=psc; 那么公式就成了arrpsc(1/72);1/72是时钟跳一下的时间,单位us; psc是分频因子,比如分4份,系统时钟跳4下,定时器时钟才跳一下,那么时间是不是得乘4,(1/72)*4 ,这个时间就是计时器时钟一个周期的时间
图片理解:
在这里插入图片描述

参考链接:
Openedv
百度知道

  • 36
    点赞
  • 97
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值