了解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高低电平
  • 复用功能(推挽、开漏):输出使能,输出数据寄存器无效,输出可用,但一般直接用外设寄存器获取数据信号。
相关推荐
沉醉不知归路11 小时前
stm32无刷电机控制_滑膜观测器更改电机如何调整?
stm32·单片机·嵌入式硬件
xcLeigh2 小时前
低功耗架构突破:STM32H750 与 SD NAND (存储芯片)如何延长手环续航至 14 天
stm32·嵌入式硬件·架构·sdnand·存储芯片
檀越剑指大厂4 小时前
STM32 搭配 嵌入式SD卡在智能皮电手环中的应用全景评测
stm32·单片机·嵌入式硬件
lingzhilab4 小时前
零知开源——STM32F407VET6驱动Flappy Bird游戏教程
stm32·嵌入式硬件·游戏
广药门徒5 小时前
STM32程序运行不了,仿真功能也异常,连断点和复位都异常了
stm32·单片机·嵌入式硬件
努力学习的小廉11 小时前
深入了解linux系统—— 库的制作和使用
linux·运维·单片机
淘晶驰AK13 小时前
电机控制选 STM32 还是 DSP?技术选型背后的现实博弈
stm32·单片机·嵌入式硬件
Fxrain15 小时前
[嵌入式实验]实验二:LED控制
stm32·单片机·嵌入式硬件
~夕上林~15 小时前
单片机——keil5
单片机·嵌入式硬件
电子科技圈17 小时前
XMOS以全新智能音频及边缘AI技术亮相广州国际专业灯光音响展
人工智能·嵌入式硬件·mcu·物联网·自然语言处理·音视频·边缘计算