首先要确定定时器的时钟频率,它等于 PSC 时钟频率除以 PSC 的值,即:

定时器时钟频率 = PSC 时钟频率 / PSC

在本题中,定时器时钟频率应该是 72MHz / 72 = 1MHz。

接下来,我们可以计算 ARR 的值,它等于定时器时钟频率乘以定时时间,即:

ARR = 定时器时钟频率 × 定时时间

= 1MHz × 100ms

= 100000

最后,我们需要确定 PSC 的值,使得 ARR 的值在定时器 16 位寄存器的范围内。定时器 16 位寄存器的最大值为 65535,因此 PSC 的值应该是:

PSC = (ARR + 1) / 65536

= (100000 + 1) / 65536

= 1.526

由于 PSC 取整后必须大于等于 1,因此我们可以将 PSC 设置为 2,此时 ARR 应该为:

ARR = 定时器时钟频率 × 定时时间 / (PSC + 1)

= 1MHz × 100ms / 3

= 33333

因此,定时器的 ARR 应该设置为 33333,PSC 应该设置为 2。

STM32 定时器设置 - 如何实现100ms定时 (72MHz 时钟)

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

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