GPIO是通用输入输出的简称,换句话说,其为MCU可控制的引脚,MCU通过GPIO引脚来与外部设备连接,从而实现与外部通讯、控制以及数据采集的功能。本文以STM32的GPIO为例子来介绍GPIO。
上图所示,
第一部分保护二极管及上下拉电阻
如图所示为保护二极管,用于防止引脚过高或过低的外部电压输入,当引脚的外部电压高于VDD时,上方的二极管导通,当引脚电压低于Vss时,下方的二极管导通,从而便可防止不正常的电压输入GPIO而烧毁内部芯片。但是STM32的引脚不应外接大功率的驱动器件。而第一部分和第七部分之间为上拉电阻和下拉电阻,用于GPIO设置时用于设置上下拉电阻。
第二部分:推挽输出和开漏输出(P-MOS管和N-MOS管)
P-MOS管和N-MOS管使得GPIO具有推挽输出和开漏输出两种模式:
(1)推挽输出
在推挽输出模式下,P-MOS管和N-MOS管都处于工作,其等效电路如下所示:
当INT往1处输入高电平时,经过反向后,上方的P-MOS导通,下方的N-MOS关闭,OUT对外输出高电平;而当INT往1处输入低电平时,经过反向后,上方的P-MOS关闭,下方的N-MOS打开,OUT对外输