OpenEdv-开源电子网

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

关于按键的问题,为什么要设置成上拉模式而不是下拉?

[复制链接]

57

主题

316

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1344
金钱
1344
注册时间
2018-1-11
在线时间
156 小时
发表于 2018-1-24 20:25:15 | 显示全部楼层 |阅读模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

57

主题

316

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1344
金钱
1344
注册时间
2018-1-11
在线时间
156 小时
 楼主| 发表于 2018-1-24 20:25:16 | 显示全部楼层
笑哭,自己百度,明白了,不问啦,此贴终结
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-24 20:44:55 | 显示全部楼层
这取决于按键的另一端接的是什么。pull要朝向这个电平的相反方向进行,这样有助于抵抗外界的干扰。

从另一个角度说,实际上,我们要求,输入口读状态时,绝对禁止悬空,必须进行上下拉。 TIM截图20180124203636.png
比如探索者开发板上,
KEY0、KEY1、KEY2一端接单片机IO,另一端接地。那么,我们期望的结果是:

按下后,单片机读到0
未按下,单片机读到1

如果不设置上下拉,那么单片机IO就是高阻的输入状态,其状态是读不准的,与内部结构和周边电磁环境都有关。

一个典型的验证方法是这样的,
while(1)GPIO_PutPin(LED,GPIO_Get(Key));//不启用上下拉

单片机用电脑USB供电,电脑连接220V电源,然后用手触摸开发板电路,可以发现LED灯以50Hz的频率进行闪烁。
因为人体、空气、大地形成了一个电容器,微弱的感应电压被未上下拉的单片机IO口检测到,从而产生了误动作。

其实,不设置上下拉,也是有用的,这正是触摸按键的设计原理。
回复

使用道具 举报

57

主题

316

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1344
金钱
1344
注册时间
2018-1-11
在线时间
156 小时
 楼主| 发表于 2018-1-24 21:09:22 | 显示全部楼层
a496298685 发表于 2018-1-24 20:44
这取决于按键的另一端接的是什么。pull要朝向这个电平的相反方向进行,这样有助于抵抗外界的干扰。

从另 ...

太感谢啦,自己之前也百度了,大概明白了,你回答的更详细,谢谢,可是你回答的时候,我已经取消了悬赏了,我咋给你?
回复

使用道具 举报

6

主题

462

帖子

0

精华

高级会员

Rank: 4

积分
906
金钱
906
注册时间
2017-12-15
在线时间
111 小时
发表于 2018-1-24 21:25:24 | 显示全部楼层
活到老,学到老 发表于 2018-1-24 21:09
太感谢啦,自己之前也百度了,大概明白了,你回答的更详细,谢谢,可是你回答的时候,我已经取消了悬赏了 ...

hhhhhhhhhhhh那就留着下次咯~
回复

使用道具 举报

57

主题

316

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1344
金钱
1344
注册时间
2018-1-11
在线时间
156 小时
 楼主| 发表于 2018-1-24 22:06:53 | 显示全部楼层
a496298685 发表于 2018-1-24 21:25
hhhhhhhhhhhh那就留着下次咯~

好哒
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-20 00:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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