你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32 PWM 输出绑定与解除 GPIO电平的变化

[复制链接]
STMCU小助手 发布时间:2022-5-2 08:59

I5_JT[~A]VSZLWVX4BX3MP3.png

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

0:关闭 - OCx,禁止输出

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

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

  1.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
  2.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  3.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  4.     GPIO_Init(GPIOA, &GPIO_InitStructure);
复制代码

我们使用如下代码测试,
  1.         for(;;)
  2.         {
  3.                 //禁止PWM输出
  4.                 TIM3 -> CCER  &= 0XFFEF;
  5.                 delay_ms(50);
  6.                 //打开PWM输出
  7.                 TIM3 -> CCER  |= 1 << 4;
  8.                 delay_ms(50);
  9.         }
复制代码

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

A((FNS~NYBJ[0F$}E9BF.png

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

54OF8BAO$S2KIQ5J0~W05KX.png




收藏 评论0 发布时间:2022-5-2 08:59

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版