PWM输出

功能介绍

PWM (脉宽调制) 是 STM32 高级定时器的核心功能。硬件实现原理是:计数器持续递增/递减计数,当计数值小于比较寄存器 (CCR) 的值时输出有效电平,否则输出无效电平,从而生成占空比可调的方波信号。

PWM 输出广泛应用于:电机速度控制(通过改变占空比调节平均电压)、LED 亮度调节、电源转换器控制、音频信号生成、舵机角度控制等场景。STM32 的高级定时器支持 4 个独立 PWM 通道,可同时控制多个设备。

PWM 模式

图片

PWM 模式 1

递增计数时,CNT 小于 CCR 输出有效电平

PWM 模式 2

递增计数时,CNT 小于 CCR 输出无效电平

占空比计算

公式:占空比 = CCR / ARR
示例:CCR = 500, ARR = 1000 占空比 = 50%

CubeMX 配置

1. 选择定时器 (TIM1/TIM8)
2. 选择通道 (CH1-CH4)
3. 配置 PWM 模式
4. 设置预分频器和周期

HAL 库函数

HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);

// 设置占空比