最快路径
用 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。