了解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高低电平
  • 复用功能(推挽、开漏):输出使能,输出数据寄存器无效,输出可用,但一般直接用外设寄存器获取数据信号。
相关推荐
时空自由民.3 小时前
STM32配置Timer+DMA读取ADC数据
stm32·单片机·嵌入式硬件
华普微HOPERF3 小时前
数字隔离器,如何确保MCU不受储能系统中的高电压、大电流影响?
单片机·嵌入式硬件
小麦嵌入式4 小时前
FPGA入门(四):时序逻辑计数器原理与 LED 闪烁实现
linux·驱动开发·stm32·嵌入式硬件·fpga开发·硬件工程·dsp开发
搁浅小泽5 小时前
常用电子元器件
单片机·嵌入式硬件·可靠性工程师
zhaoshuzhaoshu5 小时前
嵌入式开发之时钟树解析-SMT32平台
嵌入式硬件
三佛科技-187366133976 小时前
FT60E211-RB省成本,提效率!IO型8位单片机智能家居产品应用解析
单片机·嵌入式硬件·智能家居
咩咦6 小时前
C++学习笔记02:cin 和 cout 输入输出
c++·学习笔记·cin·输入输出·cout
咩咦6 小时前
C++学习笔记05:引用和常引用
c++·学习笔记·引用·const·常引用
ghie90906 小时前
基于 STM32 + LDC1000 电感传感器的金属循迹三轮车程序
stm32·单片机·嵌入式硬件
Teleger9 小时前
在window上使用c++控制鼠标点击,实现的exe
c++·单片机·计算机外设