STM32 GPIO八大模式逻辑
2026/9/24 2:46:42 网站建设 项目流程

看逻辑图,GPIO分为输入驱动器和输出驱动器两部分,最右边是一个保护电路,用于抵御电压波动(3.3/5V)

一、输出驱动器

当我们使用HAL库的函数HAL_GPIO_WritePin设置寄存器,或片上外设进行复用功能输出,控制P-MOS管与N-MOS管开断

推挽输出

当两个MOS管都使用时,便是推挽输出,P‑MOS 激活 N‑MOS 断开就是接Vdd,输出高电平;P‑MOS 断开 N‑MOS 激活就是接地,输出低电平

优点:可以直接输出 3.3V 缺点:只能输出 3.3V

开漏输出:

当P-NOS管断开时,就是开漏输出,N‑MOS 断开,输出就由外部电路决定,当外接5V时就输出5V高电平(必须是5V容忍的IO口,一般是3.3V);当N‑MOS 激活,接地,输出低电平;

优点:配合外部电路 更加灵活 缺点:高电平实际是高阻态 无法输出电流

复用输出:

复用推挽输出、复用开漏输出,交由片上外设接管 MOS 管控制而不是单片机寄存器

二、输入驱动器

外部输入信号先经过引脚保护电路进入输入驱动器;可以选择开启芯片内部上拉电阻 / 下拉电阻。 信号分成两条通路:

  1. 模拟通路:信号直接作为模拟输入,给到 ADC 等模拟外设;

  2. 数字通路:信号经过肖特基触发器整形,转为标准数字电平,送给片上外设,同时存入IDR 输入寄存器,单片机可以通过HAL库的指令HAL_GPIO_ReadPin读取寄存器

根据信号通路选择、内部上下拉电阻开关状态,GPIO 输入分为 4 种模式:上拉输入,下拉输入,浮空输入(上下拉都不打开),模拟输入(不经过肖特基触发器)

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

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

立即咨询