这个公式是根据STM32定时器的计算公式推导出来的。其中:

  • arr表示自动重载寄存器的值,即定时器周期。
  • psc表示预分频器的值,用于将定时器时钟分频。
  • tclk表示定时器的时钟频率,即定时器的输入时钟频率。

根据STM32定时器的计算公式,定时器的实际时钟频率是输入时钟频率除以预分频器的值,即:

实际时钟频率 = 输入时钟频率 / (psc + 1)

定时器的计数器会从0开始计数,每计数到一个定时器周期(arr+1),就会产生一次定时器中断。因此,定时器的计数器最大值应该是定时器周期减1:

计数器最大值 = arr

将上面两个公式合并,可以得到定时器的周期时间:

定时器周期时间 = 定时器周期 / 实际时钟频率 = (arr + 1) / (psc + 1) / tclk

将上面的公式变形,可以得到:

(arr + 1) = tout * (psc + 1) * tclk

因此,tout = (arr + 1) * (psc + 1) / tclk,即为定时器中tout的计算公式。

定时器中tout为什么等于arr+1psc+1tclk

原文地址: https://www.cveoy.top/t/topic/MNN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录