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

2019-07-20 09:51发布


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
活到老,学到老
1楼-- · 2019-07-20 11:03
 精彩回答 2  元偷偷看……
a496298685
2楼-- · 2019-07-20 14:03
这取决于按键的另一端接的是什么。pull要朝向这个电平的相反方向进行,这样有助于抵抗外界的干扰。

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

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

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

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

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

其实,不设置上下拉,也是有用的,这正是触摸按键的设计原理。
活到老,学到老
3楼-- · 2019-07-20 14:26
a496298685 发表于 2018-1-24 20:44
这取决于按键的另一端接的是什么。pull要朝向这个电平的相反方向进行,这样有助于抵抗外界的干扰。

从另 ...

太感谢啦,自己之前也百度了,大概明白了,你回答的更详细,谢谢,可是你回答的时候,我已经取消了悬赏了,我咋给你?
a496298685
4楼-- · 2019-07-20 19:58
 精彩回答 2  元偷偷看……
活到老,学到老
5楼-- · 2019-07-20 23:13
a496298685 发表于 2018-1-24 21:25
hhhhhhhhhhhh那就留着下次咯~

好哒

一周热门 更多>