☰
STM32之GPIO
2026/11/2 19:01:22 网站建设 项目流程

参考资料:

《STM32F4xx 中文参考手册》--GPIO章节

目录

一、什么是GPIO

二、GPIO框图

①保护二极管及上、下拉电阻

②P-MOS 管和 N-MOS 管

③输出数据寄存器

④复用功能输出

⑤输入数据寄存器

⑥复用功能输入

⑦模拟输入(/输出)

三、GPIO可配置的工作模式

输入模式 (上拉/下拉/浮空)

输出模式 (推挽/开漏,上拉/下拉)

复用功能 (推挽/开漏,上拉/下拉)

模拟输入输出

总结

四、补充内容

F103与F4/F7/H7的GPIO结构对比

肖特基触发器的功能


一、什么是GPIO

GPIO 是通用输入输出端口的简称。
STM32 芯片的 GPIO被分成很多组,每组有 16 个引脚(也有可能少于 16 个),如型号为 STM32F407ZGT6 型号的芯片有 GPIOA、 GPIOB、 GPIOC 至 GPIOG 共 7 组 GPIO,芯片一共 144 个引脚,其中 GPIO 就占了一大部分,所有的 GPIO 引脚都有基本的输入输出功能。

其中最基本的输出功能是由 STM32 控制引脚输出高、低电平,实现开关控制;最基本的输入功能是检测外部输入电平。

二、GPIO框图

最右端就是代表 STM32 芯片引出的 GPIO 引脚,其余部件都位于芯片内部。

①保护二极管及上、下拉电阻

保护二极管:引脚的两个保护二极管可以防止引脚外部过高或过低的电压输入,当引脚电压高于 VDD_FT 时,上方的二极管导通,当引脚电压低于 VSS 时,下方的二极管导通,防止不正常电压引入芯片导致芯片烧毁。虽然有保护,但并不表示STM32 的引脚能直接外接大功率驱动器件,如直接驱动电机,强制驱动可能电机不转或者严重的话导致芯片烧坏,所以必须要加大功率及隔离电路驱动。

上拉、下拉电阻:可以控制引脚默认状态的电压,开启上拉的时候引脚电压为高电平,开启下拉的时候引脚电压为低电平,这样可以消除引脚不定状态的影响。也可以设置“既不上拉也不下拉模式”,这种状态称为浮空模式,直接用电压表测量其引脚电压为 1 点几伏,这是个不确定值。(STM32 的内部上拉是“弱上拉”,即通过此上拉输出的电流是很弱的,如要求大电流还是需要外部上拉。)其中上拉/下拉寄存器 GPIOx_PUPDR控制引脚的上、下拉以及浮空模式。

②P-MOS 管和 N-MOS 管

输出模式部分,线路经过一个由 P-MOS 和 N-MOS 管组成的单元电路。这个结构使 GPIO 具有了“推挽输出”和“开漏输出”两种模式。

推挽输出模式
输入高电平时,经过反向后,上方的 P-MOS 导通,下方的 N-MOS 关闭,对外输出高电平;而在该结构中输入低电平时,经过反向后, N-MOS 管导通, P-MOS 关闭,对外输出低电平。当引脚高低电平切换时,两个管子轮流导通, P 管负责灌电流, N 管负责拉电流,使其负载能力和开关速度都比普通的方式有很大的提高。推挽输出的低电平为 0 伏,高电平为 3.3 伏。【应用】一般应用在输出电平为 0 和 3.3 伏而且需要高速切换开关状态的场合,实际应用中,除了必须用开漏模式的场合,我们都习惯使用推挽输出模式。

开漏输出模式
该模式上方的 P-MOS 管完全不工作。如果我们控制输出为 0,低电平,则 P-MOS管关闭, N-MOS 管导通,使输出接地,若控制输出为 1 (它无法直接输出高电平) 时,则 P-MOS管和 N-MOS 管都关闭,所以引脚既不输出高电平,也不输出低电平,为高阻态。需要注意的是,使用时必须外部接上拉电阻。它具有“线与”特性,也就是说,若有很多个开漏模式引脚连接到一起时,只有当所有引脚都输出高阻态,才由上拉电阻提供高电平,此高电平的电压为外部上拉电阻所接的电源的电压。若其中一个引脚为低电平,那线路就相当于短路接地,使得整条线路都为低电平, 0 伏。【应用】一般应用在I2C、 SMBUS 通讯等需要“线与”功能的总线电路中,除此之外,还用在电平不匹配的场合,如需要输出 5 伏的高电平,就可以在外部接一个上拉电阻,上拉电源为 5

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询