1.PWM中断初始化函数
PWM初始化流程如下图所示:
定时器实现PWM/1-1.png)
对应的初始化代码及注释如下:
1 | void PWM_Init(void) |
2.修改占空比
由于占空比由ARR和CCR共同决定,在ARR不变(设置为100)的情况下,CCR的取值在0~100之间即为占空比。我们可以通过TIM_SetCompare1()
函数实现。封装好的函数如下:
1 | void PWM_SetCompare1(uint16_t Compare1) |
例如,想要实现呼吸灯效果,在主函数中循环修改CCR的值即可:
1 | while(1) |
3.引脚复用
TIM2的CH1通道默认在PA0引脚上,还可以复用到PA15引脚上,具体修改代码如下:
1 | RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//开启AFIO时钟 |