通用输入输出 GPIO 的几种工作模式

GPIO 的八种工作模式这种说法是 stdperiph-lib 标准库时代的分类方式,现如今 HAL 库和 LL 库以及最新的参考手册早已摒弃了这种分类方式,取而代之的是四个大类,六个小类。

模式大类 模式小类 内部弱拉
模拟模式 输入输出  浮空 
输入模式 普通输入  浮空 
 上拉 
 下拉 
输出模式 普通输入
+
推挽输出
 浮空 
 上拉 
 下拉 
普通输入
+
开漏输出
 浮空 
 上拉 
 下拉 
复用模式 普通输入
+
推挽输出
 浮空 
 上拉 
 下拉 
普通输入
+
开漏输出
 浮空 
 上拉 
 下拉 

模拟模式

模拟模式 输入输出  浮空 

输入模式

输入模式 普通输入  浮空 
 上拉 
 下拉 

输出模式

输出模式 普通输入
+
推挽输出
 浮空 
 上拉 
 下拉 
普通输入
+
开漏输出
 浮空 
 上拉 
 下拉 

复用模式

复用模式 普通输入
+
推挽输出
 浮空 
 上拉 
 下拉 
普通输入
+
开漏输出
 浮空 
 上拉 
 下拉 

补充说明

Q: 模拟模式和浮空输入的区别是什么?
A: 模拟模式内部接入的是模数转换单元,输入施密特触发器和内部上下拉停用,引脚处于超低功耗状态。浮空输入模式内部接入的是GPIO的输入检测电路,输入施密特触发器和内部上下拉均可正常使用。