一、GPIO的八种工作模式
1. 输入
浮空输入(GPIO_IN_FLOATING):处于悬浮状态。
带上拉输入(GPIO_IPU)、
带下拉输入(GPIO_IPD)、模拟输入(GPIO_AIN):字面理解
2. 输出
开漏输出(GPIO_OUT_OD):输出端相当于三极管的集电极,要的到高电平需要上拉电阻才行。适合做电流型的驱动。其吸收电流的能力相比较强(在20mA以内),一般来说开漏是用来连接不同电平的器件,匹配电平用的,因为开漏引脚不连接外部的上拉电阻,只能输出低电平,如果需要同时具备输出高电平的功能,需要一个上拉的电阻。
推挽输出(GPIO_OUT_PP):可输出高低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通时,另一个截止。推拉式输出既能提高电路的负载能力,又能提高开关的速度。
复用推挽输出(GPIO_AP_PP)/复用开漏输出(GPIO_AP_OD):不做通用IO口的配置。做第二功能使用。