【WB32库开发】第10章 TIM1高级定时器——PWM互补输出

在上一章的输出多路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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值