打印
[STM32F1]

STM32同一个端口的不同引脚配置成不同的输出模式

[复制链接]
328|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenjunt|  楼主 | 2022-1-1 16:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,STM32同一个端口的不同引脚配置成不同的输出模式,比如:端口A的1脚输出配置成频率2M 推挽输出、2脚输出配置设置成频率10M 开漏输出。
GPIO_InitTypeDef   GPIO_INIT_GPIOA;         //端口参数配置
     GPIO_INIT_GPIOA.GPIO_Pin = GPIO_Pin_1;                          
     GPIO_INIT_GPIOA.GPIO_Mode = GPIO_Mode_Out_PP;
     GPIO_INIT_GPIOA.GPIO_Speed = GPIO_Speed_2MHz;

     GPIO_INIT_GPIOA.GPIO_Pin = GPIO_Pin_2;
     GPIO_INIT_GPIOA.GPIO_Mode = GPIO_Mode_Out_OD;
     GPIO_INIT_GPIOA.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_Init(GPIOA,&GPIO_INIT_GPIOA);//端口配置初始化
像我这种写法的话,是不是1脚的输出配置被2脚的输出配置覆盖掉了??

如果分开写,如下:
GPIO_InitTypeDef   GPIO_INIT_GPIOA1; //端口1参数配置
     GPIO_INIT_GPIOA1.GPIO_Pin = GPIO_Pin_1;
     GPIO_INIT_GPIOA1.GPIO_Mode = GPIO_Mode_Out_PP;
     GPIO_INIT_GPIOA1.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOA,&GPIO_INIT_GPIOA1);//端口1脚配置初始化

GPIO_InitTypeDef   GPIO_INIT_GPIOA2; //端口2参数配置
     GPIO_INIT_GPIOA2.GPIO_Pin = GPIO_Pin_2;
     GPIO_INIT_GPIOA2.GPIO_Mode = GPIO_Mode_Out_OD;
     GPIO_INIT_GPIOA2.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_Init(GPIOA,&GPIO_INIT_GPIOA2);//端口2脚配置初始化

换成这样的写法,是不是1脚的输出配置还是要被2脚的输出配置覆盖掉?

使用特权

评论回复
沙发
yufe| | 2022-1-1 16:52 | 只看该作者
当然不会的

使用特权

评论回复
板凳
houcs| | 2022-1-1 16:57 | 只看该作者

第一种写法被后面PA2配置覆盖

使用特权

评论回复
地板
stly| | 2022-1-1 16:58 | 只看该作者
说说你的理解是什么

使用特权

评论回复
5
dengdc| | 2022-1-1 17:01 | 只看该作者
GPIO_INIT_GPIOA.GPIO_Mode = GPIO_Mode_Out_OD;这条语句是把端口A的所有引脚都配置成开漏输出,同理GPIO_INIT_GPIOA.GPIO_Speed = GPIO_Speed_10MHz;这条语句是把端口A的所有引脚都配置成10M,不知对不??

使用特权

评论回复
6
hanwe| | 2022-1-1 17:05 | 只看该作者
不会的,放心吧。

使用特权

评论回复
7
juventus9554| | 2022-1-1 17:08 | 只看该作者

GPIO_INIT_GPIOA2.GPIO_Pin = GPIO_Pin_2;

不会的,这个指定正确就可以了,不会对非指定的造成影响

使用特权

评论回复
8
chenjunt|  楼主 | 2022-1-1 17:11 | 只看该作者
多谢两位老大答疑,小弟初学对底层端口配置还不怎么会看

使用特权

评论回复
9
heweibig| | 2022-1-1 17:13 | 只看该作者
不会被覆盖的

使用特权

评论回复
10
jlyuan| | 2022-1-1 17:18 | 只看该作者
可以这样啊

使用特权

评论回复
11
llljh| | 2022-1-1 17:20 | 只看该作者
不会被覆盖的

使用特权

评论回复
12
pengf| | 2022-1-1 17:23 | 只看该作者
因该没问题啊

使用特权

评论回复
13
dengdc| | 2022-1-1 17:27 | 只看该作者
不会覆盖的 因为是直接赋值的

使用特权

评论回复
14
chenjunt|  楼主 | 2022-1-1 17:29 | 只看该作者

嗯,那我按大家的说法挨个排查一下,谢谢哈

使用特权

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

本版积分规则

718

主题

7868

帖子

5

粉丝