OpenEdv-开源电子网

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

关于GPIO的配置

[复制链接]

13

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
331
金钱
331
注册时间
2015-12-13
在线时间
83 小时
发表于 2016-8-16 10:47:04 | 显示全部楼层 |阅读模式
10金钱
请教一个问题,假设我需要配置一个GPIO为输入模式,那么在配置GPIO口的时候,我是怎样去判断是配置上拉输入还是下拉输入或者浮空输入等等,输出同样如此,谢谢大家指教。

最佳答案

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

通俗来说,一般情况如果你想当成51单片机那种IO口输出的话,就选择推挽复用输出模式。输入模式的话根据需要选择上拉或者下拉输入(上拉输入主要用于检测外部输入信号是低电平,下拉输入主要检测外部输入信号高电平)。还有既不作为输入,也不作为输出,相当于IO口悬空不工作,就选择浮空模式。然后还要根据有些外设的datasheet去确定相应的引脚该选择什么模式。
专注于stm32,专注于嵌入式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
436
金钱
436
注册时间
2015-12-11
在线时间
53 小时
发表于 2016-8-16 10:47:05 | 显示全部楼层
通俗来说,一般情况如果你想当成51单片机那种IO口输出的话,就选择推挽复用输出模式。输入模式的话根据需要选择上拉或者下拉输入(上拉输入主要用于检测外部输入信号是低电平,下拉输入主要检测外部输入信号高电平)。还有既不作为输入,也不作为输出,相当于IO口悬空不工作,就选择浮空模式。然后还要根据有些外设的datasheet去确定相应的引脚该选择什么模式。
Try again and there is nothing left to say.
回复

使用道具 举报

13

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
331
金钱
331
注册时间
2015-12-13
在线时间
83 小时
 楼主| 发表于 2016-8-16 11:08:30 | 显示全部楼层
回复

使用道具 举报

1

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
177
金钱
177
注册时间
2016-7-24
在线时间
22 小时
发表于 2016-8-16 12:02:23 | 显示全部楼层
去看正点原子《按键输入实验-GPIO做输入》这一节,里面有讲配置上下拉的示例,举一反三吧!
回复

使用道具 举报

1

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
177
金钱
177
注册时间
2016-7-24
在线时间
22 小时
发表于 2016-8-16 12:03:15 | 显示全部楼层

去看正点原子《按键输入实验-GPIO做输入》这一节,里面有讲配置上下拉的示例,举一反三吧!
回复

使用道具 举报

5

主题

103

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
235
金钱
235
注册时间
2014-11-26
在线时间
25 小时
发表于 2016-8-16 12:16:22 | 显示全部楼层
调试的时候查看对应的寄存器的值可以来判断
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2016-8-16 13:45:14 | 显示全部楼层
回复

使用道具 举报

81

主题

1002

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1876
金钱
1876
注册时间
2014-9-10
在线时间
208 小时
发表于 2016-8-16 13:45:31 | 显示全部楼层
小小蜗牛
回复

使用道具 举报

3

主题

39

帖子

0

精华

初级会员

Rank: 2

积分
197
金钱
197
注册时间
2016-6-22
在线时间
56 小时
发表于 2016-8-16 16:56:28 | 显示全部楼层
去看正点原子《按键输入实验-GPIO做输入》这一节,里面有讲配置上下拉的示例,举一反三吧!
回复

使用道具 举报

15

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2015-11-30
在线时间
39 小时
发表于 2016-8-16 17:28:19 | 显示全部楼层
通过GPIO控制寄存器CRL和CRH设置
回复

使用道具 举报

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2013-11-1
在线时间
5 小时
发表于 2016-8-16 19:12:23 | 显示全部楼层
看你的输入信号是什么电平 然后再决定你的IO口配置成什么输入,我的理解是这样
回复

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-8-16 19:18:37 | 显示全部楼层
1.jpg


参考资料:RM0008
坚决不用寄存器,拒绝重复造轮子。
回复

使用道具 举报

6

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
436
金钱
436
注册时间
2015-12-11
在线时间
53 小时
发表于 2016-8-16 19:31:50 | 显示全部楼层
墨黥天 发表于 2016-8-16 19:28
通俗来说,一般情况如果你想当成51单片机那种IO口输出的话,就选择推挽复用输出模式。输入模式的话根据需要 ...

有的外设可能没有直接拉高STM32IO口的能力,只能拉低IO口,这个时候选择上拉输入检测IO口信号
Try again and there is nothing left to say.
回复

使用道具 举报

4

主题

67

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
212
金钱
212
注册时间
2015-8-5
在线时间
49 小时
发表于 2016-8-17 10:30:15 | 显示全部楼层
基本输入方式为浮空输入,输入引脚对外呈现高组态,电平由外部电路(输出端电路及上下拉电阻)决定,如果所有输出均为高组态且没有上下拉电阻,则为不确定值,电压明显会受电磁环境影响
从基本环境延伸出上拉、下拉两种模式,分别在内部对输入口连接了上下拉电阻,与PCB上自己接的一样,阻值见手册
开源QQ群:431600056
回复

使用道具 举报

13

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
331
金钱
331
注册时间
2015-12-13
在线时间
83 小时
 楼主| 发表于 2016-8-17 11:35:35 | 显示全部楼层
谢谢大家的解答
专注于stm32,专注于嵌入式
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-2 20:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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