STM32——GPIO
1、GPIO简介
GPIO(General Purpose Input Output)通用输入输出口
可配置为8种输入输出模式
引脚电平:0V~3.3V,部分引脚可容忍5V
输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等
输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等
2、GPIO基本结构
3、GPIO位结构
4、GPIO模式
通过配置GPIO的端口配置寄存器,端口可以配置成以下8种模式
浮空输入
仅用于输入信号已稳定(如来自其他稳定电路的数字信号)且无需默认状态的场景。
例:按键已外接上拉 / 下拉电阻,或通信接口(如 SPI、UART)的稳定信号输入。
上拉输入
如 I2C 总线,默认状态为高电平,设备拉低表示数据传输。
抗干扰:避免引脚浮空导致的误触发(如静电干扰)。
下拉输入
如某些传感器输出高电平时触发特定功能。
开漏输出的电平呈现高阻态,没有驱动能力。多个开漏输出引脚连接到同一总线上,只要有一个引脚输出低电平,总线即为低电平;只有所有引脚都为高阻态时,总线才通过上拉电阻被拉至高电平。常用于 I2C、SMBus 等总线。
推挽输出的高低电平都是有驱动能力的。直接驱动小功率负载(如 LED、继电器)。高速数据传输(如 SPI、UART),因为切换速度快。需要强驱动能力的场景。