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

[复制链接]
 楼主| 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 | 显示全部楼层
说说你的理解是什么
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,不知对不??
hanwe 发表于 2022-1-1 17:05 | 显示全部楼层
不会的,放心吧。
juventus9554 发表于 2022-1-1 17:08 | 显示全部楼层

GPIO_INIT_GPIOA2.GPIO_Pin = GPIO_Pin_2;

不会的,这个指定正确就可以了,不会对非指定的造成影响
 楼主| chenjunt 发表于 2022-1-1 17:11 | 显示全部楼层
多谢两位老大答疑,小弟初学对底层端口配置还不怎么会看
heweibig 发表于 2022-1-1 17:13 | 显示全部楼层
不会被覆盖的
jlyuan 发表于 2022-1-1 17:18 | 显示全部楼层
可以这样啊
llljh 发表于 2022-1-1 17:20 | 显示全部楼层
不会被覆盖的
pengf 发表于 2022-1-1 17:23 | 显示全部楼层
因该没问题啊
dengdc 发表于 2022-1-1 17:27 | 显示全部楼层
不会覆盖的 因为是直接赋值的
 楼主| chenjunt 发表于 2022-1-1 17:29 | 显示全部楼层

嗯,那我按大家的说法挨个排查一下,谢谢哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

718

主题

7868

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部

718

主题

7868

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部