底层模型所有数字 IO 口内部本质就是两个电子开关MOS 管上管 PMOS一头接 VCC电源下管 NMOS一头接 GND地中间连在一起就是引脚 PinVCC | [上开关] | ----引脚---- | [下开关] | 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、多设备共总线最关键的三句总结推挽既能拉高也能拉低力气大不能共线开漏只能拉低高靠电阻适合多设备共用一根线浮空啥都不接外部说了算容易乱飘