一直对GPIO的工作状态不是很熟悉,导致在设置IO状态时,经常会设置成推挽上拉,或者推挽下拉,开漏上拉等问题,虽然看起来没有影响MCU工作,但感觉这是一种无知的表现。
现在总结下GPIO口的八种工作状态,其中四种输入状态,四种输出状态。
一、输入状态
1、浮空输入
2、上拉输入
3、下拉输入
4、模拟输入
二、输出状态
1、推挽输出
2、开漏输出
3、复用推挽输出
4、复用开漏输出
三、八种状态详解
1、浮空输入:IO口的内部既不解上拉电阻也不接下拉电阻,这样IO口的状态是一种不确定性。
2、上拉输入:IO口的内部接上拉电阻
3、下拉输入:IO口的内部接下拉电阻
4、模拟输入:一般用于AD检测
5、推挽输出:相当于两个三极管互补工作,不管输出寄存器给高还是低,总有一个三极管导通
6、开漏输出: