例如普通定时器模块的时钟为72 MHz分频比PSC为7199那么我们想要得到一个1秒钟的定时定时计数器ARR的值需要设定为TIMX_ARR=详细过程解释
首先,我们需要计算定时器的时钟周期(T),即:
T = 1 / 72 MHz = 13.8889 ns
然后,根据分频比(PSC)计算出定时器的预分频系数(N),即:
N = PSC + 1 = 7199 + 1 = 7200
接着,我们需要确定定时器的计数周期(C)。由于我们需要得到1秒钟的定时,因此:
C = 1 s / T = 1,000,000,000 ns / 13.8889 ns = 72,000,000
最后,我们可以根据计数周期(C)和预分频系数(N)来计算定时器的自动重载寄存器(ARR)的值。由于ARR是一个16位的寄存器,因此:
- 如果C / N <= 65535,那么ARR = C / N - 1
- 如果C / N > 65535,那么ARR = 65535
在本例中,C / N = 10,000,因此:
ARR = C / N - 1 = 10,000 - 1 = 9999
因此,定时计数器(ARR)的值需要设定为9999,才能实现1秒钟的定时。
原文地址: https://www.cveoy.top/t/topic/dvf9 著作权归作者所有。请勿转载和采集!