STM32定时器使用(二)PWM方波输出

本文介绍了如何使用STM32的TIM3定时器进行PWM方波输出,详细讲解了PWM模式1和模式2的区别,GPIO设置以及基础设置和PWM配置步骤,最后提到了改变占空比的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前使用过的DSP28335是有专门的ePWM和捕捉功能的,不过定时器很少,其实是一样的道理,通用定时器也可以进行PWM方波的输出,使用过程可以按照下面来执行
本例程使用TIM3定时器,过程是先配置输出引脚,每个定时器有四个通道,每个通道都可以输出一路PWM方波,每一路都有一个比较寄存器,当定时器计数器到来得时候,引脚电平方向,至于反向是高到低还是低到高,这个由PWM模式和有效电平设置确定;

PWM模式1和模式2的区别

PWM1:向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为有效电平,否则为
无效电平;在向下计数时,一旦TIMx_CNT>TIMx_CCR1时通道1为无效电平(OC1REF=0),否
则为有效电平(OC1REF=1)。有效电平取决设置,见下文;

PWM2:在向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为无效电平,否则为
有效电平;在向下计数时,一旦TIMx_CNT>TIMx_CCR1时通道1为有效电平,否则为无效电
平。

GPIO设置

TIM3对应的输出通道引脚PA6/PA7,PB0和PB1,输出模式为复用推挽输出,频率为50Hz

static void TIM3_GPIO_Config(void) 
{
   
  GPIO_InitTypeDef GPIO_InitStructure;
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); 
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, ENABLE); 
  
  GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_6 | GPIO_Pin_7;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;		    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值