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%
示例:CCR = 500, ARR = 1000 占空比 = 50%
CubeMX 配置
1. 选择定时器 (TIM1/TIM8)
2. 选择通道 (CH1-CH4)
3. 配置 PWM 模式
4. 设置预分频器和周期HAL 库函数
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);
// 设置占空比