STM32的GPIO有8种模式可以供我们选择。其中,输入模式有4种分别为:浮空输入、上拉输入、下拉输入、模拟输入;输出模式也有4种:推挽输出、开漏输出、复用开漏输出、复用推挽输出。
1. 浮空输入:
上下拉电阻开关均断开,输入信号只经过 施密特触发器(让输出的电压更稳定)进行滤波,然后再被读出。浮空输入一般多用于外部按键输入我理解为浮空输入状态下, IO的电平状态是不确定的,完全由外部输入决定,如果在该引脚悬空的情况下,读取该端口的电平是不确定的。
2. 上拉输入:
上拉就是把电位拉高。上拉就是将IO口上不确定的信号通过一个上拉电阻把IO上拉为高电平。电阻同时起限流作用。
3. 下拉输入:
与上拉相同,只是把IO下拉为低电平。