模式名称 | 性质 | 特征 |
浮空输入 | 数字输入 | 可读取引脚电平,若引脚悬空,则电平不确定 |
上拉输入 | 数字输入 | 可读取引脚电平,内部连接上拉电阻,悬空时默认高电平 |
下拉输入 | 数字输入 | 可读取引脚电平,内部连接下拉电阻,悬空时默认低电平 |
模拟输入 | 模拟输入 | GPIO无效,引脚直接接入内部ADC |
开漏输出 | 数字输出 | 可输出引脚电平,高电平为高阻态,低电平接VSS |
推挽输出 | 数字输出 | 可输出引脚电平,高电平接VDD,低电平接VSS |
复用开漏输出 | 数字输出 | 由片上外设控制,高电平为高阻态,,低电平接VSS |
复用推挽输出 | 数字输出 | 由片上外设控制,高电平接VDD,低电平接VSS |
数据0指的是低电平,数据3.3指的是高电平,部分引脚可容忍5V的意思是在这个端口可以输入5V的电压,也认为是高电平,但是对于输出而言,最大就只有3.3V,因为供电只有3.3V.
另外在其他的应用场景,只要是可以用高低电平来控制的地方,都可以用GPIO来完成,如果控制的是功率比较大的设备,只需要再加入驱动电路即可,除此之外,我们还可以用GPIO来模拟通讯协议,比如:I^2C,SPI或者某个芯片特定的协议,我们都可以用GPIO的输出模式来模拟其中的输入时序部分.