INPUT_PULLUP上拉输入是接3.3v还是接gnd

15 2025-07-16 16:27

一句话结论:
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 的用法了。

全部评论

·