GPIO工作模式
GPIO的结构决定了GPIO可以配置成8种模式:
typdedf enum
{
GPIO_Mode_AIN = 0x0, // 模拟输入 //ADC
GPIO_Mode_IN_FLOATING = 0x4, // 浮空输入 //按键检测
GPIO_Mode_IPD = 0x28, //下拉输入
GPIO_Mode_IPU = 0x48, //上拉输入
GPIO_Mode_Out_OD = 0x14, //开漏输出 需外接上拉电阻使用,线与功能,
GPIO_Mode_Out_PP = 0x10, //推挽输出 //LED
GPIO_Mode_AF_OD = 0x1C, //复用开漏输出 // I2C
GPIO_Mode_AF_PP = 0x18 //复用推挽输出 //定时器驱动PWM波点亮LED灯
} GPIOMode_TypeDef;
推挽输出模式一般应用在输出电平位0和3.3V而且需要高速切换开关状态的场合。在STM32的应用中,
除了必须用开漏模式的场合,我们都习惯用推挽输出模式(如点亮一个LED灯)。
开漏输出一般用在I2C(复用开漏输出)、SMBUS(复用开漏输出)通讯等需要“线与”功能的总线电路中。
除此之外,还用在电平不匹配的场合,如需要输出