通用输入输出 GPIO 的几种工作模式
GPIO 的八种工作模式这种说法是 stdperiph-lib 标准库时代的分类方式,现如今 HAL 库和 LL 库以及最新的参考手册早已摒弃了这种分类方式,取而代之的是四个大类,六个小类。
模式大类 | 模式小类 | 内部弱拉 |
---|---|---|
模拟模式 | 输入输出 | 浮空 |
输入模式 | 普通输入 | 浮空 |
上拉 | ||
下拉 | ||
输出模式 | 普通输入 + 推挽输出 |
浮空 |
上拉 | ||
下拉 | ||
普通输入 + 开漏输出 |
浮空 | |
上拉 | ||
下拉 | ||
复用模式 | 普通输入 + 推挽输出 |
浮空 |
上拉 | ||
下拉 | ||
普通输入 + 开漏输出 |
浮空 | |
上拉 | ||
下拉 |
模拟模式
模拟模式 | 输入输出 | 浮空 |
输入模式
输入模式 | 普通输入 | 浮空 |
上拉 | ||
下拉 |
输出模式
输出模式 | 普通输入 + 推挽输出 |
浮空 |
上拉 | ||
下拉 | ||
普通输入 + 开漏输出 |
浮空 | |
上拉 | ||
下拉 | ||
复用模式
复用模式 | 普通输入 + 推挽输出 |
浮空 |
上拉 | ||
下拉 | ||
普通输入 + 开漏输出 |
浮空 | |
上拉 | ||
下拉 |
补充说明
Q: 模拟模式和浮空输入的区别是什么?
A: 模拟模式内部接入的是模数转换单元,输入施密特触发器和内部上下拉停用,引脚处于超低功耗状态。浮空输入模式内部接入的是GPIO的输入检测电路,输入施密特触发器和内部上下拉均可正常使用。