俗话说拿了板子不点灯怎么行呢,可是点灯就必须点得好看一点,就用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);
- }
看看效果:
|