INPUT_PULLUP上拉输入是接3.3v还是接gnd
15 2025-07-16 16:27
一句话结论:
INPUT_PULLUP 内部上拉电阻把引脚拉高到 3.3 V(或 5 V,取决于板子),所以外部按键只需把引脚 直接接到 GND 即可,不需要再接 3.3 V。
INPUT_PULLUP 内部上拉电阻把引脚拉高到 3.3 V(或 5 V,取决于板子),所以外部按键只需把引脚 直接接到 GND 即可,不需要再接 3.3 V。
典型接法
复制
Arduino引脚 —— 开关 —— GND
│
悬空(什么都不接)
-
没按下:内部上拉把引脚拉到 HIGH(3.3 V/5 V)。
-
按下:引脚被短路到 GND → 读到低电平 LOW。
为什么不用接 3.3 V
-
pinMode(pin, INPUT_PULLUP)
已经在芯片内部连了一个 20 kΩ 左右的上拉电阻到 Vcc(3.3 V 或 5 V)。 -
再外接 3.3 V 会跟内部上拉形成“两个电源直接并联”,不仅没用,还可能产生额外电流。
例外情况
-
若想使用 外部下拉(按钮接 3.3 V),则需要
pinMode(pin, INPUT)
并自己加外部下拉电阻到 GND,但那就不是INPUT_PULLUP
的用法了。
全部评论