PWM 简介
脉冲宽度调制(PWM,PulseWidthModulation)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。广泛应用在从测量、通信到功率控制与变换的许多领域中。
PWM 配置
下面以STM32F103C8T6为例,说明采用STM32CubeMX配置输出PWM的过程。
时钟树配置
- 选择外部时钟源
- 倍频至最高的频率
配置PWM输出通道
- 选择内部时钟,输出PWM到通道1
- 设置分频系数 & 占空比
频率=定时器时钟/(Prescaler预分频+1)/(CounterPeriod计数值+1)Hz
占空比=Pulse(对比值)/(CounterPeriod计数值)%
- 生成工程文件
相关函数介绍
/* PWM 使能函数 */
/* 使能timx的通道y */
HAL_TIM_PWM_Start(&htimx,TIM_CHANNEL_y);
/* 改变占空比函数 */
/* 修改timx通道y的占空比为z */
__HAL_TIM_SET_COMPARE(&htimx, TIM_CHANNEL_y, z);
MDK文件
- 开启PWM输出通道
- 修改占空比