OpenEdv-开源电子网

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

PA9,PA10复用为串口1配置过程

[复制链接]

6

主题

21

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2018-1-27
在线时间
6 小时
发表于 2018-1-31 16:58:56 | 显示全部楼层 |阅读模式
1金钱
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9//复用推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10 PA.10 浮空输入
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入
GPIO_Init(GPIOA, &GPIO_InitStructure);
请问大家,这里为什么配置GPIOA PIN10的时候就不要说明速度呢?
/多谢

最佳答案

查看完整内容[请看2#楼]

这里涉及C语言的知识,你将GPIO_Pin和GPIO_Mode的值改变了,但GPIO_Speed的值不用变,它的值沿用PA9定义的值,无需重复再写一遍
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

57

主题

316

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1344
金钱
1344
注册时间
2018-1-11
在线时间
156 小时
发表于 2018-1-31 21:45:01 | 显示全部楼层
kevin666 发表于 2018-1-31 17:18
在结构体中也可以这样理解吗,您意思是GPIO_InitStructure.GPIO_Speed作为变量,在结构体中前后值不变, ...

不管GPIO几,只要结构体内的三个成员值不用变,那么就不用再来一遍,直接沿用
回复

使用道具 举报

10

主题

67

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
430
金钱
430
注册时间
2017-5-16
在线时间
64 小时
发表于 2018-1-31 16:58:57 | 显示全部楼层
这里涉及C语言的知识,你将GPIO_Pin和GPIO_Mode的值改变了,但GPIO_Speed的值不用变,它的值沿用PA9定义的值,无需重复再写一遍
回复

使用道具 举报

6

主题

21

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2018-1-27
在线时间
6 小时
 楼主| 发表于 2018-1-31 17:18:10 | 显示全部楼层
jxh123 发表于 2018-1-31 17:06
这里涉及C语言的知识,你将GPIO_Pin和GPIO_Mode的值改变了,但GPIO_Speed的值不用变,它的值沿用PA9定义的 ...

在结构体中也可以这样理解吗,您意思是GPIO_InitStructure.GPIO_Speed作为变量,在结构体中前后值不变,就不用重复定义?
请问,那如果后面不是GPIOA而是GPIOB的pin10,而速度仍不变,这种情况下,还可以省略速度的赋值吗?
回复

使用道具 举报

6

主题

21

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2018-1-27
在线时间
6 小时
 楼主| 发表于 2018-1-31 17:25:05 | 显示全部楼层
如果说因为GPIO_InitStructure.GPIO_Speed在PA9中已经定义过了,PA10的结构体直接沿用,那这种沿用对于除了GPIOA的其他GPIO是否也有效?也就是说GPIO_InitStructure.GPIO_Speed这个变量是独立的还是和其附属的结构体有不可分割的联系,还请不吝赐教,多谢多谢!
回复

使用道具 举报

57

主题

316

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1344
金钱
1344
注册时间
2018-1-11
在线时间
156 小时
发表于 2018-1-31 21:45:43 | 显示全部楼层
kevin666 发表于 2018-1-31 17:25
如果说因为GPIO_InitStructure.GPIO_Speed在PA9中已经定义过了,PA10的结构体直接沿用,那这种沿用对于除了 ...

建议你去学学C语言的结构体知识,是怎么在内存中开辟单元存储的,都搞懂,自然明白
回复

使用道具 举报

6

主题

21

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2018-1-27
在线时间
6 小时
 楼主| 发表于 2018-2-1 10:28:15 | 显示全部楼层
活到老,学到老 发表于 2018-1-31 21:45
建议你去学学C语言的结构体知识,是怎么在内存中开辟单元存储的,都搞懂,自然明白

好的,感谢您的指导。
回复

使用道具 举报

57

主题

316

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1344
金钱
1344
注册时间
2018-1-11
在线时间
156 小时
发表于 2018-2-1 10:32:22 | 显示全部楼层
kevin666 发表于 2018-2-1 10:28
好的,感谢您的指导。

不敢说是指导,对于32是新手,对于C语言是熟悉,也就C语言上能稍微来点意见。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 15:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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