stm32cubemx PWM
通过pwm实现呼吸灯
一、软件配置
pwm有俩个模式,一个是模式1和2
pwm模式:
? pwm模式1:小于比较值位有效电平
? pwm模式2:大于比较值位有效电平
配置led灯的引脚位pwm模式
- Mode 选择PWM模式1
- Pulse(占空比值) 先给500
- Fast Mode PWM脉冲快速模式
- PWM 极性: 设置为低电平
二、代码实现
定时器初始化完成之后,要启动定时器,用下面的函数。
HAL_TIM_PWM_Start(&htim14,TIM_CHANNEL_1);
设置占空比的函数是下面这个:
__HAL_TIM_SetCompare(&htim14,TIM_CHANNEL_1, pwmVal);
其中pwmVal为占空比的值。
在主函数中写入如下带码就可实现呼吸灯:
while (pwmVal< 1000)
{
pwmVal++;
__HAL_TIM_SetCompare(&htim14,TIM_CHANNEL_1, pwmVal);
HAL_Delay(1);
}
while (pwmVal)
{
pwmVal--;
__HAL_TIM_SetCompare(&htim14,TIM_CHANNEL_1, pwmVal);
HAL_Delay(1);
}
HAL_Delay(200);
|