一 STM32的GPIO简述:
GPIO,General-Purpose IO ports即通用输入输出接口。输入模式,其实就是用于对外界信号的识别及捕捉,例如按键的识别、温度的感知、电压的识别等。输出模式,其实就是用于对外界的控制及对外界信息的传送,例如蜂鸣器的控制、风扇的控制、LED的控制等。当然,GPIO还包括协议的应用,如IIC协议、SPI协议、CAN协议等。GPIO的工作模式可分为8种模式:推挽输出、开漏输出、复用功能推挽输出、复用功能开漏输出、上拉输入模式、下 拉输入模式、浮空输入模式、模拟输入模式。这8种模式,可以通过设置GPIO的电气结构(如下图1,通过设定A、B、C、D、E、F、G点)的状态来实现。
图1
二 GPIO工作模式
(1) 推挽输出模式(Push-Pull ,PP),如上图C点是一个P-MOS管,低电平时导通、D点是一个N-MOS管,高电平时导通、这两个管子的逻辑在同一时间内处于相反的状态,简而言之,在同一时间内,上管与下管,只有一个管子导通。C点为“1”,D点为“0”,IO口输出“0”。C点为“0”,D点为“1”,IO口输出“0”,即推挽输出状态,推挽输出的有点是,“推”时能提供更大的拉电流,“挽”时能吸收更大的灌电流。