在上一章的输出多路PWM的基础上,本章主要讲述如何配置WB32上的高级定时器TIM1完成PWM互补输出。
对PWM互补输出的概括放到10.3节中,请大家先跟随10.1节了解PWM互补输出如何配置,再结合10.2节实验现象对10.3节PWM互补输出概述进行参照,相信大家对PWM互补输出会有一个更清晰的认知。
本章节我们需要使用到固件库例程中TIM_ComplementarySignals工程,来讲解如何配置TIM1来完成PWM互补输出,需要注意PWM互补输出只能使用高级定时器来配置。
10.1 高级定时器PWM互补输出配置
本例程中我们使用到高级定时器TIM1,使用其中三个通道(TIM_CH1、TIM_CH2、TIM_CH3)和三个互补通道(TIM_CH1N、TIM_CH2N、TIM_CH3N),还有一个用来检测“刹车信号”的引脚(TIM1_BKIN)。
结合例程,根据WB32F103查表可知,使用到的引脚依次为PA8(TIM_CH1)、PA9(TIM_CH2)、PA10(TIM_CH3)、PB13(TIM_CH1N)、PB4(TIM_CH2N)、PB15(TIM_CH3N)和PA6(TIM1_BKIN)。
10.1.1开启对应端口和功能时钟
void RCC_Configuration(void)
{
/* 使能TIM1 GPIOA GPIOB AFIO 时钟 */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_BMX1 |
RCC_APB1Periph_TIM1 |
RCC_APB1Periph_GPIOA |
RCC_APB1Periph_GPIOB |
RCC_APB1Periph_AFIO ,
ENABLE);
}
10.1.2初始化端口引脚
void GPIO_Configuration(void)
{
/*GPIOA 初始化: TIM1_CH1, TIM1_CH2, TIM1_CH3 and TIM1_BKIN */
GPIO_Init(GPIOA, GPIO_Pin_6 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10, GPIO_MODE_AF | GPIO_AF1);
/*GPIOB 初始化: TIM1_CH1N, TIM1_CH2N, TIM1_CH3N*/
GPIO_Init(GPIOB, GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15, GPIO_MODE_AF | GPIO_AF1);


1万+

被折叠的 条评论
为什么被折叠?



