浮空、开漏、推挽、上拉 / 下拉--单片机 /芯片引脚模式

底层模型

所有数字 IO 口,内部本质就是两个电子开关(MOS 管)

  • 上管 PMOS:一头接 VCC(电源)

  • 下管 NMOS :一头接 GND(地)中间连在一起,就是引脚 Pin

    复制代码
     VCC
      |
    [上开关]
      |

    ----引脚----
    |
    [下开关]
    |
    GND

不同模式,就是这两个开关怎么开、怎么关的区别

不同模式,就是这两个开关怎么开、怎么关的区别。


1. 浮空输入(Floating Input)

两个开关:全部断开

  • 上管:关
  • 下管:关

引脚既不接电源,也不接地,完全悬空。

特点:

  • 引脚是高阻态,几乎不耗电
  • 电平完全由外部电路决定
  • 外部没接线 → 电平乱飘、受干扰
  • 只适合有明确外部信号的输入

一句话:浮空 = 引脚悬空,谁来谁说了算,没人来就发疯。


2. 上拉输入 / 下拉输入

这两个其实是带电阻的浮空,为了防止乱飘。

上拉输入(Pull-up)

内部加一个电阻接到 VCC

  • 外部没信号 → 默认为高电平
  • 外部接 GND → 变低

下拉输入(Pull-down)

内部加一个电阻接到 GND

  • 外部没信号 → 默认为低电平
  • 外部接 VCC → 变高

用途:按键、拨码开关,防止引脚乱跳。


3. 推挽输出(Push-Pull)

最标准、最常用的输出模式

两个开关互斥工作

  • 输出高电平 → 上管开,下管关 → 直接接 VCC
  • 输出低电平 → 下管开,上管关 → 直接接 GND

特点:

  • 主动输出强高、强低
  • 驱动能力强
  • 不能多个芯片输出接同一条线(会短路打架)

一句话:推挽 = 既能强拉到高,也能强拉到低,力气大。


4. 开漏输出(Open-Drain)

只留下管,拆掉上管

  • 输出 0 → 下管开 → 强拉低
  • 输出 1 → 下管关 → 引脚浮空

自己出不来高电平,必须靠:

  • 外部加上拉电阻到 VCC
  • 电阻把线 "拽" 到高电平

特点:

  • 只能拉低,不能拉高
  • 多个开漏可以接同一条线(线与逻辑)
  • 方便做电平转换(3.3V ↔ 5V)

典型应用:I2C、OneWire、通信总线

一句话:开漏 = 只会往下拉,高电平靠外部电阻帮忙。


5. 开漏带上拉(Open-Drain + Pull-up)

有些单片机支持开漏 + 内部上拉相当于:

  • 开漏输出
  • 内部自带小电阻,不用外部接

适合简单低速通信。


6. 模拟输入(Analog Input)

彻底关闭所有数字电路,只给 ADC 采样。

  • 高阻
  • 不识别高低电平,只测电压

一张表彻底看懂

模式 上管 下管 能主动出高? 能主动出低? 典型用途
浮空输入 外部强驱动信号
上拉输入 关 + 电阻 按键
下拉输入 关 + 电阻 按键
推挽输出 可控 可控 LED、继电器、普通输出
开漏输出 可控 否(靠外部电阻) I2C、多设备共总线

最关键的三句总结

  1. 推挽:既能拉高也能拉低,力气大,不能共线
  2. 开漏:只能拉低,高靠电阻,适合多设备共用一根线
  3. 浮空:啥都不接,外部说了算,容易乱飘
相关推荐
SDAU20057 小时前
CH32V103C8T6的时钟操作
单片机·嵌入式硬件
不做无法实现的梦~7 小时前
SBUS 接收机到 STM32:为什么要做硬件反相、如何解析数据、如何接线与实现代码
stm32·单片机·嵌入式硬件
一路往蓝-Anbo7 小时前
第二章:隔离硬件 —— 利用 CMock 伪造 GPIO 与定时器
stm32·单片机·嵌入式硬件·软件工程·信息与通信·tdd
刘延林.9 小时前
esp32 s3+micpython快速验证ML307R 是否能正常连接4G
单片机·嵌入式硬件
不做无法实现的梦~14 小时前
86步进电机和DM860H驱动器的使用方法和记录
单片机·嵌入式硬件
Aaron158814 小时前
RFSOC+VU13P/VU9P+GPU多通道同步一体化解决方案
人工智能·嵌入式硬件·算法·matlab·fpga开发·硬件架构·基带工程
所见即所得1111115 小时前
stm32烧录过程中串口问题(串口被占用无法使用)
stm32·单片机·嵌入式硬件
Freak嵌入式15 小时前
WIZnet-EVB-Pico2开始,用MicroPython玩转以太网开发
arm开发·人工智能·python·嵌入式硬件·机器人·嵌入式·micropython
Ligocious15 小时前
stm32---1.两种开发方式点亮LED
stm32·单片机
黑白园15 小时前
STM32F103C8TC使用ST-Link下载
stm32·单片机·嵌入式硬件