[应用相关] GPIO的输入模式

[复制链接]
285|0
wowu 发表于 2025-10-13 21:47 | 显示全部楼层 |阅读模式
以下参考哔哩哔哩铁头山羊:

[STM32 HAL库][GPIO]4种输入模式,最佳教程,没有之一~_哔哩哔哩_bilibili

STM32的GPIO输入也有四种模式:输入上拉、输入下拉、输入浮空和模拟模式,最后一种模式是用来输入模拟信号,暂时用不到。剩下的三种输入模式,和这两个电阻有关。其中上面的电阻叫上拉电阻,下面的电阻叫下拉电阻。

2509568ec8f3b7901c.png

电阻旁边各有一个开关,上拉电阻连接到高电压VDD,下拉电阻连接到低电压VSS,如果闭合了上面的开关,就相当于使能了上拉电阻,为输入上拉模式,如果闭合了下面的开关,就相当于使能了下拉电阻,为输入下拉模式。两个电阻都不使能,为输入浮空模式。

6712168ec8f372e465.png

但是这里有一个问题,这两个电阻有什么作用呢?这是一块电压表,我们可以使用电压表去测量电阻两端的电压,电压表的内阻必须非常大,否则它就会影响被测电路的状态,这样测得的电压就不准了,当IO引脚工作在输入模式下的时候,它的作用就是去测量外部输入信号的电压,相当于一块电压表,因此它的内阻也应该是无穷大,无穷大的电阻相当于开路,所以我们把这个位置断开,如果我们不接上拉/下拉电阻,这个时候IO引脚完全悬空了,悬空的引脚就像一条天线,它会接受空间的电磁波,会读到随机的0和1,不希望这种现象的发生。

1926968ec8f325690b.png

8639068ec8f2daa06b.png

现在我们加上上拉电阻,同样不接受外部输入信号,这时候电路由两个电阻分压,因为下面电阻的阻值是无穷大,所以它会分得整个Vdd,而上面电阻分的电压为0V,所以这个点的电压就是高电压Vdd,接了上拉电阻之后,即使没有外部输入信号,IO引脚上也会出现一个稳定的高电压,而不再是一个随机值。上拉电阻的作用是当IO引脚悬空时,提供一个默认的高电压。

1666568ec8f28c2bd6.png

下拉电阻的工作原理和下拉电阻相似,是当IO引脚悬空时,提供一个默认的低电压。
————————————————
版权声明:本文为CSDN博主「子不语180」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_66706271/article/details/151725302

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

本版积分规则

139

主题

4367

帖子

2

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