目录
[二,STM32 GPIO 输入输出模式总结](#二,STM32 GPIO 输入输出模式总结)
[一、输入模式(4 种:核心是 "检测外部电平")](#一、输入模式(4 种:核心是 “检测外部电平”))
[二、输出模式(2 种:核心是 "向外输出电平")](#二、输出模式(2 种:核心是 “向外输出电平”))
[三、复用功能模式(2 种:核心是 "交给外设控制")](#三、复用功能模式(2 种:核心是 “交给外设控制”))
一,配置GPIO的输入
按照自己的板子的实际情况选择引脚配置

这里在gpio.c里面可以看到也已经自动生成好了

关于GPIO读取引脚电平的函数也是有支持的

在主函数写一个简单的电平读取并在LED输出电平的代码

二,STM32 GPIO 输入输出模式总结
STM32 的 GPIO(通用输入输出口)模式可分为输入模式、输出模式、复用功能模式、模拟模式四大类,核心是根据 "引脚要检测信号、输出信号,还是作为外设专用引脚 / 模拟信号通道" 来选择,下面用通俗的方式讲清每种模式的特点、用途和选型逻辑:
1、输入模式(4 种:核心是 "检测外部电平")
输入模式下,GPIO 引脚仅负责采集外部电平信号,不向外输出电流,核心分 4 种:
| 模式类型 | 核心原理 | 关键特点 | 典型用途 |
|---|---|---|---|
| 浮空输入 | 引脚悬空时电平不确定(受电磁干扰),仅在外部有电平驱动时能检测信号 | 高阻态,无默认电平 | USART/RX 引脚、红外接收等(外部有明确信号源) |
| 上拉输入 | 内部集成上拉电阻(几十 kΩ),引脚悬空时默认高电平,外部低电平可拉低 | 有默认高电平,抗干扰性好 | 按键检测(按下接地为低,松开为高)、传感器状态检测 |
| 下拉输入 | 内部集成下拉电阻,引脚悬空时默认低电平,外部高电平可拉高 | 有默认低电平,抗干扰性好 | 需默认低电平的状态检测(如高电平有效的传感器) |
| 模拟输入 | 引脚与数字电路完全断开,直接连接模拟电路(如 ADC) | 不参与数字逻辑,仅传模拟信号 | ADC 电压采样、温度传感器模拟信号输入 |
选型小技巧:有默认电平需求选上拉 / 下拉,外部信号明确选浮空,要采模拟信号选模拟输入。
2、输出模式(2 种:核心是 "向外输出电平")
输出模式下,GPIO 引脚负责主动输出高低电平 ,核心分推挽和开漏,且都可配置输出速度(低速 / 中速 / 高速 / 超高速,对应不同驱动能力和电磁干扰):
| 模式类型 | 核心原理 | 关键特点 | 典型用途 |
|---|---|---|---|
| 推挽输出 | 内部有上下两个 MOS 管,一个导通一个截止:输出高电平时上管导通拉电流,输出低电平时下管导通灌电流 | 能主动输出高 / 低电平,驱动能力强(可直接带 LED、小型继电器) | LED 灯控制、普通电平信号输出、电机驱动信号 |
| 开漏输出 | 内部只有下拉 MOS 管,无上限管:输出低电平时管子导通拉低电平,输出高电平时管子截止(需外部上拉电阻才会有高电平) | 支持 "线与"(多个开漏引脚接一起,一个低电平则总线低);可实现 3.3V/5V 电平兼容(外部接 5V 上拉即可输出 5V) | I2C 总线 SDA/SCL 引脚、CAN 总线、多设备共享总线 |
选型小技巧:普通电平输出选推挽,总线通信(如 I2C)或需要电平转换选开漏。
3、复用功能模式(2 种:核心是 "交给外设控制")
当 GPIO 需要作为外设的专用引脚(如串口 TX/RX、SPI MOSI、TIM PWM)时使用,引脚的控制权从 CPU 交给外设,本质是 "外设的输入输出":
| 模式类型 | 适用场景 | 典型例子 |
|---|---|---|
| 复用推挽 | 外设需要主动输出高 / 低电平(如发送信号) | USART TX 引脚、SPI MOSI 引脚、TIM PWM 输出 |
| 复用开漏 | 外设需要线与功能或电平兼容 | I2C 的 SDA/SCL 引脚、部分串口 RX 引脚 |
4、模拟模式(特殊:非数字信号)
和 "模拟输入" 不同,模拟模式是 GPIO 引脚完全脱离数字电路,既不检测数字电平,也不输出数字信号,仅作为模拟信号的通道,比如:
- ADC 的输入通道(采集模拟电压);
- DAC 的输出通道(输出模拟电压);
- 比较器的输入引脚。
5、核心总结与选型速记
- 输入选什么?:按键 / 传感器→上拉 / 下拉;串口 RX→浮空;ADC 采样→模拟输入。
- 输出选什么?:LED / 普通信号→推挽;I2C/CAN→开漏(需外部上拉)。
- 外设引脚选什么?:看外设手册(如串口 TX 用复用推挽,I2C 用复用开漏)。
- 速度怎么选?:LED→低速,串口→中速,SPI→高速,高速外设→超高速(速度越高,EMI 越大,按需选择即可)。