定时器输出PWM波的时候,IO口一定要配置成复用推挽输出模式,但是不用开启复用时钟。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP;//必须设置成为复用推挽输出
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOA,&GPIO_InitStruct);
需要注意的就是数据手册中的引脚复用功能表
右边框中的是默认的情况,也就是不做任何配置,他就是普通的IO口,如果想要用此IO口上的其他功能,也就是左边框中的功能的话,就需要打开复用时钟,否则这个IO口还是普通的IO口。
更多内容请看:https://blog.csdn.net/u013082827/article/details/77543394