STM32定时 计算公式

TOUT = ((arr+1)*(psc+1))/TCLK;

其中:

  TCLK:定时器的输入时钟频率(单位MHZ)

 TOUT:定时器溢出时间(单位为us)

  .TIM_Period = arr;                                 

  .TIM_Prescaler = psc;                            

  例如:arr=9999,psc=7199

  TOUT= ((9999+1)×(7199+1))/72 = 1000000us = 1000ms =1s;

  例如:arr=9999,psc=7199

  TOUT= ((999+1)×(719+1))/72 = 10000us = 10ms ;

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32中,定时器计算公式通常可以表示为以下形式: Tout = (TIM_Period + 1) * (TIM_Prescaler + 1) / Tclk 其中,Tout是定时器溢出时间(单位为us),TIM_Period是定时器的装载周期,TIM_Prescaler是定时器的预分频值,Tclk是定时器的输入时钟频率(单位为MHz)。 具体来说,定时器的输入时钟频率Tclk是定时器的运行频率,当预分频值TIM_Prescaler为psc时,时钟频率被分频了psc + 1。因此,定时器的最终频率为Tclk / (TIM_Prescaler + 1)。每次定时器计数器加1所需要的时间为1 / (Tclk / (TIM_Prescaler + 1)),即(TIM_Prescaler + 1) / Tclk。 当定时器的装载值设置为TIM_Period时,定时器从0计数到TIM_Period时会清零。因此,定时时间可以通过公式Tout = (TIM_Period + 1) * (TIM_Prescaler + 1) / Tclk计算得出,单位为us。 举个例子来说明,假设Tclk = 72MHz,TIM_Prescaler = 71。时钟周期为1us。如果TIM_Period的值为多少,定时器周期就为多少毫秒。具体计算公式为: 定时时间 = (TIM_Period + 1) * (TIM_Prescaler + 1) / Tclk 定时时间 = (TIM_Period + 1) * (71 + 1) / 72 定时时间 = (TIM_Period + 1) * 72 / 72 定时时间 = TIM_Period + 1 因此,如果TIM_Period的值为4999,则定时器周期为5000毫秒,即Tout = 5000ms。 总结起来,STM32中的定时器计算公式为Tout = (TIM_Period + 1) * (TIM_Prescaler + 1) / Tclk,其中Tout是定时器溢出时间(单位为us),TIM_Period是定时器的装载周期,TIM_Prescaler是定时器的预分频值,Tclk是定时器的输入时钟频率(单位为MHz)。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值