定时器的计数频率为定时器时钟频率除以预分频系数,即:

计数频率 = 定时器时钟频率 / 预分频系数

由于要定时100ms,因此计数器的计数值为:

计数值 = 定时器时钟周期 × 时间 / 预分频系数

其中,定时器时钟周期为1/72MHz = 13.89ns。

将时间和定时器时钟周期代入上式,得到计数值为:

计数值 = 100ms / 13.89ns / 预分频系数

为了方便计算,假设预分频系数为1,则计数值为:

计数值 = 100ms / 13.89ns = 720576

由于计数器的取值范围为16位,因此ARR的值应该小于等于65535。因此,可以选择ARR的值为65535,而PSC的值为:

PSC = (计数值 + ARR) / 65535

将计数值和ARR代入上式,得到:

PSC = (720576 + 65535) / 65535 ≈ 12.01

由于PSC只能取整数,因此可以选择PSC的值为12或13。选择PSC=12时,实际的计数频率为:

计数频率 = 72MHz / 12 = 6MHz

此时,计数器的计数时间为:

计数时间 = 计数值 × 定时器时钟周期 × 预分频系数

代入数值,得到:

计数时间 = 720576 × 13.89ns × 12 ≈ 100.04ms

可以看到,实际的计数时间已经非常接近于目标的100ms了。因此,可以选择ARR=65535,PSC=12来设置定时器。

如果PSC时钟为72MHz要设置定时器100msARR+PSC设置多少

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

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