一、GPIO 结构图
保护二极管:IO引脚上下两边两个二极管用于防止引脚外部过高、过低的电压输入,使得输入信号电压通常在 GND <= VIN <= VSS
范围内。当VIN >= VDD时,上方的二极管导通;当VIN <= VSS时,下方的二极管导通,防止不正常电压引入芯片导致芯片烧毁。
二、GPIO 的八种工作方式
1.输出模式
(1)推挽输出:GPIO_Mode_Out_PP
Push Pull,缩写PP。在这种模式下,高低电平均有较强的驱动能力,所以推挽输出模式也可以叫强推输出模式。STM32对IO口具有绝对的控制权,高低电平都由STM32决定。
数据寄存器为1时,P-MOS导通,N-MOS断开,输出直接接到VDD,即输出高电平。
数据寄存器为O时,P-MOS断开,N-MOS导通,输出直接接到VSS,即输出低电平。
常用于控制 LED、继电器等需要稳定输出电平的场合。
(2)开漏输出:GPIO_Mode_Out_OD
Open Drain,缩写OD。在开漏输出模式下,P-MOS是无效的,只有N-MOS在工作。在这种模式下,只有低电平有驱动能力,高电平没有驱动能力。
数据寄存器为1时,下管断开,这时输出相当于断开,