STM32 指南

STM32 定时器时钟与 PWM 公式

了解 STM32 定时器时钟以及 PSC、ARR、CCR 如何决定 PWM 频率和占空比。

先确定有效定时器时钟

定时器输入来自芯片时钟树。在一些 STM32 系列中,APB 分频不为 1 时定时器可能得到倍频时钟,请以具体芯片文档为准。

计数器时钟 = 定时器时钟 ÷ (PSC + 1)
PWM 频率 = 定时器时钟 ÷ ((PSC + 1) × (ARR + 1))

Worked Example:1 kHz、25% 边沿对齐 PWM

输入为 72 MHz 定时器时钟,PSC=71、ARR=999、CCR=250;假设向上计数、边沿对齐、PWM 模式 1、有效高极性。这是理论计算,不是硬件实测;72 MHz 不能直接当作 CPU 或 APB 时钟。

  1. 计数器时钟 = 72,000,000 ÷ (71+1) = 1 MHz。
  2. 周期计数 = 999+1 = 1000。
  3. PWM 频率 = 1,000,000 ÷ 1000 = 1 kHz,周期 1 ms。
  4. 占空比 = 250 ÷ 1000 × 100 = 25%。

PWM 模式 1 向上计数时,CNT 小于 CCR 期间输出参考信号为高。中心对齐、向下计数、重复计数器、极性反相、死区和更新时序可能不适用同一公式。参考 STMicroelectronics RM0008 参考手册。

打开 STM32 计算器

请核对设备文档。这些公式是通用模型,具体硬件模式和协议条件可能带来额外约束。