打印
[STM32F1]

强制输出低电平

[复制链接]
1170|47
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
renyaq|  楼主 | 2022-2-2 22:19 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
STM32 引脚设置了复用推挽后会强制输出低电平

使用特权

评论回复
沙发
zhaoxqi| | 2022-2-2 22:22 | 只看该作者
楼主详细说说怎么回事啊,这么说太笼统了

使用特权

评论回复
板凳
renyaq|  楼主 | 2022-2-2 22:26 | 只看该作者
相关代码:
        GPIO_SetBits(GPIOA,GPIO_Pin_3);     //预先把PA3置高
        GPIO_InitTypeDef GPIO_InitStructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
        
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOA,&GPIO_InitStructure);

执行完上面的代码后,PA3立即变成低电平了。

使用特权

评论回复
地板
zwll| | 2022-2-2 22:28 | 只看该作者
但是我单步调试的时候,查看GPIOA->ODR,发现,对应的PA3还是高电平啊,但是万用表实测确实是变成了低电平,请问大神这是为什么呀!?

使用特权

评论回复
5
supernan| | 2022-2-2 22:30 | 只看该作者
什么意思?不是很明白你说的什么,能再解释一下这个现象吗

使用特权

评论回复
6
renyaq|  楼主 | 2022-2-2 22:32 | 只看该作者

使用特权

评论回复
7
pengf| | 2022-2-2 22:34 | 只看该作者
你第一句执行的时候,没有初始化IO;
那么调用库函数,第一句指令实际是没执行;

使用特权

评论回复
8
ousj| | 2022-2-2 22:39 | 只看该作者

也就是无效;
当然输出0啊;GPIO_SetBits(GPIOA,GPIO_Pin_3);  

使用特权

评论回复
9
huangchui| | 2022-2-2 22:41 | 只看该作者
可以在初始化完后加:

使用特权

评论回复
10
zhuhuis| | 2022-2-2 22:43 | 只看该作者
你设置成复用功能后,引脚的实际输出就不受ODR寄存器影响了。

使用特权

评论回复
11
songqian17| | 2022-2-2 22:45 | 只看该作者
另外,你设置复用后,引脚输出低电平只是凑巧。实际输出是不确定的。

使用特权

评论回复
12
zwll| | 2022-2-2 22:50 | 只看该作者

使用特权

评论回复
13
chuxh| | 2022-2-2 22:52 | 只看该作者

使用特权

评论回复
14
renyaq|  楼主 | 2022-2-2 22:54 | 只看该作者
你既然选择了AF输出那么GPIO的寄存器就不会影响它的输出了

使用特权

评论回复
15
llljh| | 2022-2-2 22:56 | 只看该作者
同意楼上. af 已经接管了.你方法有误,应该配置复用功能默认是高电平

使用特权

评论回复
16
renyaq|  楼主 | 2022-2-2 23:01 | 只看该作者
感谢楼上几位好心人,已经解决问题了,设了复用功能后,ODR寄存器就不会控制引脚输出;在复用功能那里先设置相应的配置,然后再配置GPIO为AF_PP就不会出现电平的跳变了

使用特权

评论回复
17
jlyuan| | 2022-2-2 23:04 | 只看该作者
复用功能的IO口怎么配置输出电平为高or低电平

使用特权

评论回复
18
renyaq|  楼主 | 2022-2-2 23:07 | 只看该作者
是不是硬件连接有问题啊

使用特权

评论回复
19
renyaq|  楼主 | 2022-2-2 23:10 | 只看该作者
明白了,多谢大家讨论这么多哈

使用特权

评论回复
20
tpgf| | 2022-3-2 14:10 | 只看该作者
是不是还得看外部连接啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

700

主题

10138

帖子

4

粉丝