OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4252|回复: 0

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

[复制链接]

221

主题

221

帖子

0

精华

高级会员

Rank: 4

积分
762
金钱
762
注册时间
2021-5-18
在线时间
28 小时
发表于 2021-11-1 13:49:21 | 显示全部楼层 |阅读模式
1.png
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输出被禁止时,其对应的输出引脚为低电平。
2.jpg
另外,将PWM输出极性翻转,也就是PWM输出时一直为低电平,此时的波形如下,一直为低电平,说明PWM禁止输出时,引脚电平与PWM输出极性无关,为低电平。
3.jpg
原文链接:http://bj.dyrs.com.cn/story/202111/1164806

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 20:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表