STM32 PWM 配置记录
说明
- 本页记录
STM32F103 Bluepill使用STM32CubeMX配置 PWM 输出的最小流程. - 适合快速回忆定时器参数, 输出频率和占空比之间的关系.
CubeMX 配置示意

核心参数
PSC/Prescaler: 定时器预分频, 先把输入时钟降到目标范围.ARR/Period: 自动重装值, 决定 PWM 周期长度.CCR/Pulse: 比较值, 决定高电平持续时间.Channel: 选择具体输出通道, 例如TIMx_CH1.
常用估算公式:
PWM 频率 = timer_clk / ((PSC + 1) * (ARR + 1))
占空比 = CCR / (ARR + 1)
最小配置步骤
- 选择一个定时器通道, 模式设为
PWM Generation CHx. - 根据目标频率设置
Prescaler和Counter Period. - 设置
Pulse作为默认占空比. - 检查输出引脚是否映射到正确的 GPIO 复用功能.
- 生成代码后, 在初始化完成后调用
HAL_TIM_PWM_Start().
调试排查
- 没有波形时, 先检查 GPIO 复用是否正确, 以及是否真的启动了 PWM 通道.
- 频率不对时, 先确认
APB定时器时钟, 再检查PSC和ARR. - 占空比异常时, 重点核对
Pulse与Period的比值. - 若示波器看到恒高或恒低, 通常是
CCR设置越界或通道未启动.