STM32 中 GPIO 的八种工作模式介绍

一、GPIO 结构图

保护二极管:IO引脚上下两边两个二极管用于防止引脚外部过高、过低的电压输入,使得输入信号电压通常在 GND <= VIN <= VSS 范围内 **。**当VIN >= VDD时,上方的二极管导通;当VIN <= VSS时,下方的二极管导通,防止不正常电压引入芯片导致芯片烧毁。


二、GPIO 的八种工作方式

1.输出模式

(1)推挽输出:GPIO_Mode_Out_PP

Push Pull,缩写PP。在这种模式下,高低电平均有较强的驱动能力,所以推挽输出模式也可以叫强推输出模式。STM32对IO口具有绝对的控制权,高低电平都由STM32决定。

数据寄存器为1时,P-MOS导通,N-MOS断开,输出直接接到VDD,即输出高电平。

数据寄存器为O时,P-MOS断开,N-MOS导通,输出直接接到VSS,即输出低电平。

常用于控制 LED、继电器等需要稳定输出电平的场合。

(2)开漏输出:GPIO_Mode_Out_OD

Open Drain,缩写OD。在开漏输出模式下,P-MOS是无效的,只有N-MOS在工作。在这种模式下,只有低电平有驱动能力,高电平没有驱动能力。

数据寄存器为1时,下管断开,这时输出相当于断开,也就是高阻模式。

数据寄存器为0时,下管导通,输输出直接接到VSS,,也就是输出低电平。

这种模式常用于I²C 总线通信以及多设备共享同一信号线的场合。

(3)复用推挽输出:GPIO_Mode_AF_PP

GPIO 引脚配置为复用功能,并以开漏模式工作。适用于外设如 UART、SPI 等需要强驱动的场合。

(4)复用开漏输出:GPIO_Mode_AF_OD

GPIO 引脚配置为复用功能,并以开漏模式工作。适用于外部需要上拉电阻等场合。


2.输入模式

(1)上拉输入:GPIO_Mode_IPU

Input Pull-Up,缩写IPU。通过内部上拉电阻将默认状态拉为高电平。

(2)下拉输入:GPIO_Mode_IPD

Input Pull-Down,缩写IPD。通过内部下拉电阻将默认状态拉为低电平,

(3)浮空输入:GPIO_Mode_IN_FLOATING

引脚对外界完全开放,易受干扰,数据输入端没有明确默认状态(高电平或低电平)的场合

(4)模拟输入:GPIO_Mode_AIN

Analog Input,缩写AIN。用于模拟信号采集。

相关推荐
EVERSPIN4 分钟前
RGB显示驱动MCU单片机—CH643键盘应用方案
单片机·嵌入式硬件·mcu·计算机外设·mcu单片机
edjxj1 小时前
PFC电路学习
单片机·学习
电气_空空2 小时前
基于 Labview/Matlab 的人脸识别系统设计与实现
单片机·嵌入式硬件·毕业设计·labview
西城微科方案开发2 小时前
智能充气泵PCBA充气解决方案
单片机
v先v关v住v获v取3 小时前
轴吸盘机械手关节型机器人设计含+8张CAD图+SW模型+运动仿真+说明书
科技·单片机·51单片机
学嵌入式的小杨同学3 小时前
STM32 进阶封神之路(十一):串口通信底层原理全解析 ——UART/USART 区别 + 电平标准 + 协议规范(面试重点)
stm32·单片机·嵌入式硬件·mcu·硬件架构·硬件工程·智能硬件
为搬砖记录3 小时前
杰理AC695N soundbox 3.1.2打开ble宏的编译bug
c语言·开发语言·单片机·bug
wuyikeer3 小时前
SocketTool、串口调试助手、MQTT中间件基础
单片机·嵌入式硬件·中间件
阿祖_in_coding3 小时前
面试之嵌入式基础知识:uart、i2c、spi
嵌入式硬件
济6173 小时前
STM32 I2C 总线通信实战|从原理到 OLED 屏数据收发(超详细)---STM32 HAL库专栏
stm32·嵌入式·stm32hal库编程