General Purpose Input Output (通用输入/输出)简称为GPIO,就是IO口而已。就相当于51单片机中的IO口,即P1_0等。
GPIO的八种模式:
typedef enum
{ GPIO_Mode_AIN = 0x0, //模拟输入
GPIO_Mode_IN_FLOATING = 0x04, //浮空输入
GPIO_Mode_IPD = 0x28, //下拉输入
GPIO_Mode_IPU = 0x48, //上拉输入
GPIO_Mode_Out_OD = 0x14, //开漏输出
GPIO_Mode_Out_PP = 0x10, //推挽输出
GPIO_Mode_AF_OD = 0x1C, //复用开漏输出
GPIO_Mode_AF_PP = 0x18 //复用推挽输出
} GPIOMode_TypeDef;
推挽输出:可以输出高电平,也可以输出低电平,结构是两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止,高电平由IC电源确定;推挽电路是两个参数相同的三极管或MOSFET,以推挽的方式存在于电路中,各负责正负半周的波形放大任务,电路工作时两只对称的功率开关管每次只有一个导通,所以损耗小效率高,输出既可以向负载灌电流也可以向负载抽取电流;
开漏输出:输出端相当于三极管的集电极,要得到高电平状态需要使用上拉电阻才行,适用于做电流型的驱动,其吸收能力相对较强(一般20ma以内)。
开漏的特点:利用外部电流的驱