我如何知道是否需要为GPIO引脚上拉或下拉电阻?


8

我已经看到许多微控制器使用上拉或下拉电阻器作为GPIO引脚的设置或作为硬件的一部分。

我怎么知道我是否需要一个上拉或下拉电阻给GPIO引脚,如果需要,我怎么知道哪个最适合我的应用?

Answers:


6

您需要在其电压电平有时至少是“不可预测的”的线上(例如,浮动输入和I2C线)上上拉或下拉电阻。

如果要将线路的默认值设置为数字1,请使用上拉电阻。如果希望它为数字0,则使用下拉菜单。

一个非常典型的示例是按钮。假设软件期望按下按钮时引脚会掉线。在相应的引脚上,使用上拉,按钮将引脚接地。


3

在最终布局中,强烈建议将所有未使用的引脚拉至适当的水平。不要让它们保持未连接状态,因为在启动时或正在运行的程序期间,这可能会导致不可预测的行为。


0

无论是拉高还是拉低,都完全取决于您和项目的需求。

如前所述

如果您的代码希望在下降沿或上触发0,则可能需要使用上拉电阻以在不使用时将其保持在高电平。

如果您的代码希望在上升沿或上触发1,则希望使用下拉将电位保持在0,利用外部源将其上拉。

现在,上拉电阻应具有高欧姆值,足以克服您需要消除的噪声,但又不能太强以至于您的外部信号无法克服。

通常,通过下拉将节省几毫安的功率。

假设我们有一个5k的上拉@ 5v,即1mA每个引脚。用完电池时,每个毫安都是宝贵的。

当我们下拉时,我们通常只是燃烧掉EMF噪声,消耗的mAs数量可忽略不计。


当线路未被驱动为低电平时,上拉不会标称地没有电流吗?同样地,当线路被驱动为高电平时,下拉电流也不会消耗电流吗?
John O'M。

通常,上拉/下拉电阻正好足以实现所需的“默认”信号,通常为Vin或Gnd。为此,它们通常约为10k左右,因此,如果在连接下拉电阻时将线驱动为高电平,则仅浪费Vhigh / 10k安培。如果Vhigh为5V,则等于0.5mA。
Chuck 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.