您好,欢迎访问代理记账网站
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

STM32 PWM 输出绑定与解除 GPIO电平的变化

STM32捕获/比较使能寄存器如上,可见位5控制了通道2的PWM输出绑定到对应的GPIO口,

0:关闭 - OCx,禁止输出

1:开启 - OCx,信号输出到对应的输出脚

那么问题来了,我们在进行PWM初始化的时候,使用如下代码,将输出脚设置为复用推挽输出,当使能PWM输出时,引脚电平由PWM控制,但是禁止PWM输出时,引脚电平是什么状态呢?

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);

我们使用如下代码测试,

	for(;;)
	{
		//禁止PWM输出
		TIM3 -> CCER  &= 0XFFEF;
		delay_ms(50);
		//打开PWM输出
		TIM3 -> CCER  |= 1 << 4;
		delay_ms(50);
	}

PWM初始化配置导致PWM输出时一直为高电平,如下波形,PWM输出50ms高电平,50ms低电平,So,当PWM输出被禁止时,其对应的输出引脚为低电平。

另外,将PWM输出极性翻转,也就是PWM输出时一直为低电平,此时的波形如下,一直为低电平,说明PWM禁止输出时,引脚电平与PWM输出极性无关,为低电平。

 


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进