APB总线计算定时器定时时间

定时器的定时周期可以通过分频比(PSC)和自动重装载值(ARR)来设置

定时周期的计算过程,在芯片手册中

在这里插入图片描述

APB2总线上有TIM1,TIM8,TIM9,TIM10,TIM11,在分频前APB2的时钟源频率为84MHz

定时器的时钟不是直接来自APB1或APB2,而是来自于输入为APB1或APB2的一个倍频器。

在Cube时钟树的设置上,最右端是APB1和APB2总线的时钟频率设置(APB2的传输速度大于APB1),其中的APB1 peripheral clocks/APB2 peripheral clocks为挂载在总线上的定时器以外的外设提供时钟源;APB1 timer clocks/APB2 timer clocks为挂载在总线上的定时器提供时钟源

在这里插入图片描述

在使用定时器时涉及三个重要概念:1. 分频 2. 计数 3. 重载

  • 分频:

    将时钟源的频率分配给不同的外设

  • 计数:

    即定时器会进行计数

  • 重载:

    当定时器计数值达到一定程度后就会清空并重新从0开始计数

同时有3个与定时器相关的寄存器:

  1. TIMx_PSC(预分频寄存器)
  2. TIMx_CNT(计数器寄存器)
  3. TIMx_ARR(自动重装载寄存器)

首先时钟源处的时钟信号经过PSC分频,分频过后的定时器时钟会驱使CNT向上计数,直到CNT的值增加到与ARR中的值一致时,就会启动自动重载,将CNT中的值清零,并产生一个定时器中断,这样该定时器就可以持续定时产生中断了,因此我们可以看到定时器触发中断的时间(固定频率)是由PSC以及ARR决定的。

对定时器周期公式的理解:
T=(arr+1)(PSC+1)/Tck 其中TCK为时钟频率,PSC为时钟预分频系数,arr为自动重装载值。
f=Tck/(psc+1)
(arr+1)
Tck/(psc+1)即为时钟频率,1/f为机器周期,乘以(arr+1)即可得出定时器周期。
例子:TCK=72MHZ,psc=71.时钟周期=1us.(arr+1)值为多少,定时器周期就为多少毫秒。

参考资料

STM32 CubeMX学习:3. 定时器闪烁LED
关于stm32定时器定时周期计算

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

书阁下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值