俗话说拿了板子不点灯怎么行呢,可是点灯就必须点得好看一点,就用PWM来点个呼吸灯看看。
使用HAL库配置定时器的输出比较通道(Output Compare Channel)非常简单,而OC就是输出可控占空比的PWM波的外设,首先在CubeMX里面需要设置引脚,使用定时器2通道2、3、4即PA1-PA3脚:
定时器的分频数和预装载值也要设置好:
主循环代码:
while (1)
{
for(i=100;i>=0;i--)
{
TIM_SetTIM2Compare2(i);
Delay_ms(5);
}
Delay_ms(500);
for(i=0;i<=100;i++)
{
TIM_SetTIM2Compare2(i);
Delay_ms(5);
}
Delay_ms(500);
for(i=100;i>=0;i--)
{
TIM_SetTIM2Compare3(i);
Delay_ms(5);
}
Delay_ms(500);
for(i=0;i<=100;i++)
{
TIM_SetTIM2Compare3(i);
Delay_ms(5);
}
Delay_ms(500);
for(i=100;i>=0;i--)
{
TIM_SetTIM2Compare4(i);
Delay_ms(5);
}
Delay_ms(500);
for(i=0;i<=100;i++)
{
TIM_SetTIM2Compare4(i);
Delay_ms(5);
}
Delay_ms(500);
}
看看效果:
|