使用指南

STM32 定时器 PSC 与 ARR 指南

在设置 PSC 与 ARR 前,理解寄存器加一的计算方式和 APB 定时器时钟规则。

最快路径

STM32 定时器计算器 计算 PSC 和 ARR。复制结果到固件前,先确认 APB prescaler 和实际 timer clock。

频率公式

定时器更新频率是 timer_clock / ((PSC + 1) * (ARR + 1))。寄存器值为 0 仍然表示除以 1,所以直接用 PSC * ARR 会错。

APB 定时器时钟

许多 STM32 系列中,当 APB prescaler 大于 1 时,定时器外设收到的是 2 倍 APB 时钟。具体规则要以对应芯片系列的 reference manual 为准。

寄存器限制

很多通用定时器使用 16-bit PSC 和 ARR,也有部分定时器支持更宽的 ARR。计算时要按具体 timer instance 设置上限。

为什么频率不一定精确

PSC 和 ARR 必须是整数。如果目标计数无法分解成有效寄存器值,只能得到最接近的结果。提交固件前要看实际频率和误差。

固件检查清单

  • 确认 PLL 和总线分频后的 APB clock。
  • 确认选择的定时器是 16-bit 还是 32-bit。
  • 修改 ARR 后可能需要 update event 才会生效。
  • 关键时序路径要测输出引脚或中断间隔。

下一步

打开 STM32 定时器计算器,输入 timer clock 和寄存器上限,把 PSC、ARR、实际频率和误差记录到固件 review notes。