当前位置: 首页 > news >正文

聊聊GPIO 工作模式

嵌入式开发中,GPIO(General-Purpose Input/Output)是最基础也最常用的功能模块之一。你可以把它想象成微控制器伸出来的无数根“手脚”:既可以用它输出信号去点亮LED、驱动外设,也可以用它输入信号来检测按键、读取传感器状态。

输出模式-主动出击

1)推挽输出 (Push-Pull Output)

      VDD(3.3V)│├───[PMOS]───┐│            ││            ├───● GPIO引脚│            │└───[NMOS]───┘│GND(0V)

工作原理:

  • 输出高电平(1):PMOS打开,NMOS关闭 → 引脚接电源VDD(3.3V)
  • 输出低电平(0):NMOS打开,PMOS关闭 → 引脚接地GND(0V)

使用场景:控制LED灯、数字信号输出

2)开漏输出 (Open-Drain Output)

       VDD(内部无连接!)││X ← [PMOS被拆除]│└───[NMOS]───● GPIO引脚│GND

工作原理

  • 输出低电平:NMOS打开 → 接地
  • 输出高电平:NMOS关闭 → 悬空(高阻态)→ 必须外接上拉电阻到VDD才能输出高电平

使用场景:I²C/SMBus 总线 (多设备共享线路)、驱动高压设备 (外接上拉到 5V/12V)、多主机通信

输入模式-竖起耳朵听

1)浮空输入 (Floating Input)

       VDD││X ← 无内部上拉│
GPIO引脚 ┼───● 输入检测电路│X ← 无内部下拉│GND
  • 引脚完全断开内部电阻
  • 电平状态完全由外部电路决定

必须使用场景:ADC 模拟信号采样

2)上拉/下拉输入 (Pull-up/Pull-down Input)

上拉输入结构:VDD││R(≈40kΩ)← 内部上拉电阻│
GPIO引脚 ┼───● 输入检测电路│X│GND
下拉输入结构:VDD││X│
GPIO引脚 ┼───● 输入检测电路│R(≈40kΩ)← 内部下拉电阻│GND

工作原理

  • 上拉输入:无外部信号时默认高电平(3.3V)
  • 下拉输入:无外部信号时默认低电平(0V)

按键检测:按键接地型电路、按键接VCC型电路

注意

  1. 开漏输出必须外接上拉电阻:阻值依总线速度和功耗选择 (常用 4.7KΩ)
  2. 推挽输出禁止并联:会导致 VDD-GND 短路损坏MOS管
  3. 输入电平容限:
    1. 5V容忍引脚:可承受 5V 输入
    2. 非容忍引脚:输入电压 ≤ VDD+0.3V
  4. 模式切换:读输入前需切换为输入模式(尤其输出转输入时)
  5. 静电防护:未使用引脚设为下拉/推挽输出低电平

相关文章:

  • 英飞凌推出ASIL-B等级并具唤醒功能的第三代3D霍尔传感器TLE493D-x3系列
  • 服务器如何从http升级到https(nginx)
  • day02-Docker
  • B站 XMCVE Pwn入门课程学习笔记(4)(不断更新)
  • 计算机网络:(四)物理层的基本概念,数据通信的基础知识,物理层下面的传输媒体
  • 不同系统修改 Docker Desktop 存储路径(从C盘修改到D盘)
  • FPGA基础 -- Verilog 行为级建模之过程性结构
  • 【深度学习】卷积神经网络(CNN):计算机视觉的革命性引擎
  • 从0开始学习R语言--Day27--空间自相关
  • Vue.js 按键修饰符详解:提升键盘事件处理效率
  • Vue添加图片作为水印
  • 24.分页查询
  • 26.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--角色权限管理
  • Python Peewee库连接和操作MySQL数据库
  • CANFD加速是什么?和CANFD有什么区别?
  • redux
  • chili3d笔记18 出三视图调整
  • 从零接入高德路径规划2.0:实现精准物流距离计算实战
  • 侧信道攻击的评估指标
  • SpringBoot电脑商城项目--新增收获地址
  • 网站管理机制建设情况/网站关键字优化技巧
  • 如何增加网站关键词库/百度搜索引擎竞价排名
  • 广东省建设信息港网站/中企动力做网站推广靠谱吗
  • 网站建设公司选择意见书/厦门人才网唯一官网招聘
  • css在网站开发的应用/百度人气榜
  • 怎么用域名进网站/seo的工作原理