了解GPIO对应的主要功能

GPIO

GPIO是通用输入输出端口的简称,芯片上的GPIO引脚与外部设备连接实现通讯、控制以及数据采集等功能,最基本的输出功能是通过控制引脚输出高低电平继而实现开关控制,比如引脚接入LED灯可控制LED灯的亮灭,接入继电器或三极管可控制外部大功率电路的通断。

  • 保护二极管及上、下拉电阻:引脚的两个保护二极管可防止引脚外部电压输入过高或过低导致芯片烧毁,引脚电压高于VDD时,上方二极管导通,此引脚尽管有保护,但也不可直接外接大功率驱动器件,若外接需要加大功率及隔离电路驱动。
  • P-MOS管和N-MOS管:引脚线路经过二极管后向上流向"输入模式",向下流向"输出模式",也就是经过一个由P-MOS和N-MOS管组成的单元电路,此结果使GPIO具有"推挽输出"和"开漏输出"两种模式。
  • 推挽输出即该结构中输出高电平时,经过反向后,上方的P-MOS导通,下方N-POS关闭,对外输出高电平;该结构输入低电平时,经过反向后,N-MOS导通,P-MOS关闭,对外输出低电平;当高低电平切换时,P管(灌电流)和N管(拉电流)轮流导通,使其负载能力和开关速度明显提高。注意:推挽输出低电平为0V,高电平为3.3V。一般来说此模式应用较多。
  • 开漏输出即P-MOS管完全不工作(控制输出为0,低电平时P-MOS管关闭,N-MOS管导通,输出接地),控制输出为1时,两管都关闭,引脚不输出电平,为高阻态。此时为正常使用必须外部接上拉电阻提供高电平(此时高电平电压为外部上拉电阻电源电压)。注意:开漏输出一般应用在I2C、SMBUS通讯等总线电路中,还可应用于电平不匹配的场合,如需要输出5V高电平则接一个上拉电源为5V的电阻,将GPIO设置为开漏模式
  • 输出数据寄存器:MOS管结构电路的输入信号就是由输出寄存器GPIOx_ODR提供的,我们通过修改寄存器值修改引脚的输出电平;
  • 模拟输出输出:当GPIO引脚用于ADC采集电压的输入通道时,用作"模拟输入"功能,此时信号不经过施密特触发器(信号只有0、1两种状态),ADC外设要确保采集到原始模拟信号必须在触发器前进行信号源输入;

GPIO工作模式:

  • 输入模式(模拟、浮空、上拉、下拉):通过输入数据寄存器(IDR)读取I/O状态,浮空输入一般接按键时使用,模拟输入一般用于ADC采集;
  • 输出模式(推挽、开漏):通过输出数据寄存器(ODR)控制I/O高低电平
  • 复用功能(推挽、开漏):输出使能,输出数据寄存器无效,输出可用,但一般直接用外设寄存器获取数据信号。
相关推荐
点灯小铭40 分钟前
基于51单片机红外避障车辆高速汽车测速仪表设计
单片机·嵌入式硬件·汽车·毕业设计·51单片机·课程设计
猫猫的小茶馆6 小时前
【STM32】将 FreeRTOS移植到STM32F103RCT6 详细流程
stm32·单片机·嵌入式硬件·mcu·智能硬件
智驾7 小时前
MCU平台化实践方案
单片机·嵌入式硬件·mcu·嵌入式
NormalConfidence_Man10 小时前
【RT Thread】使用QEMU模拟器结合GDB调试RT Thread内核
linux·嵌入式硬件
日更嵌入式的打工仔13 小时前
uC/OS-III 队列相关接口
单片机
李法师_14 小时前
lwIP MQTT 心跳 Bug 分析与修复
linux·c语言·stm32·单片机·lwip
_OP_CHEN1 天前
数据结构(C语言篇):(二)顺序表
c语言·数据结构·学习笔记·入门·顺序表·动态顺序表·静态顺序表
易享电子1 天前
基于单片机步进电机控制电机正反转加减速系统Proteus仿真(含全部资料)
单片机·嵌入式硬件·51单片机·proteus·智能家居
易享电子1 天前
基于单片机空调温度控制测温ds18b20系统Proteus仿真(含全部资料)
单片机·嵌入式硬件·51单片机·proteus·智能家居
点灯小铭1 天前
基于51单片机汽车自动照明灯超声波光敏远近光灯设计
单片机·嵌入式硬件·汽车·毕业设计·51单片机·课程设计