STM32 GPIO 8种工作模式(最简说明)
IO 端口位的基本结构 (截取自参考手册 图 13)

可以结合上面的结构图对 8 种工作模式进行理解,其中
- 横向分为三部分:寄存器、驱动器、IO 口
- 纵向分为两部分:输入、输出
一、输入模式(4种)
| 模式 | 说明 |
|---|---|
| 模拟 | 用于ADC采集,无上下拉 |
| 浮空 | 电平不确定,无上下拉 |
| 上拉 | 默认高电平,接按键常用 |
| 下拉 | 默认低电平,接按键常用 |
二、输出模式(4种)
| 模式 | 颜色标记 | 说明 |
|---|---|---|
| 通用推挽 | 推挽输出 | 强高低电平,P\N-MOS 都可用 (交替导通),可以用来驱动LED/器件 |
| 通用开漏 | 开漏输出 | 只能输出低电平,仅 N-MOS 可用 (仅 N 可导通) |
| 复用推挽 | 复用推挽 | 串口/SPI/PWM等外设输出 |
| 复用开漏 | 复用开漏 | I2C通信专用 |
通用模式下:CPU 直接输出控制引脚输出;复用模式下:其他片上外设输出的信号来控制引脚输出
具体配置外设时,可以参考 【官方参考手册】里面的设定,部分内容如下:

一句话速记
- 输入:读取外部信号
- 输出:控制外部器件
- 推挽:强驱动
- 开漏:多设备共享总线
