3-1 GPIO输出
3-1 GPIO输出
GPIO(General Purpose Input Output)通用输入输出口
可配置为8种输入输出模式
引脚电平:0V~3.3V,部分引脚可容忍5V(FT)
输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等
输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等
GPIO基本结构

GPIOA 的第一个接口命名为PA0,每个GPIO接口都有16个接口;STM32寄存器为32位,但是只有16的端口,所以寄存器只有低16位有接口;所有GPIO接口都在APB2总线下。
GPIO位结构
施密特触发器:对信号设置上下阈值,防止信号不稳定产生抖动现象。
位设置/清除寄存器:可以单独设置某一位,而不影响其它位。
输出控制后的三极管:
在推挽输出模式下:P-MOS和N-MOS均有效;数据寄存器为1时,上管导通,下管断开,输出直接接到VDD上,就是输出高电平;数据寄存器为0时,上管断开,下管导通,输出直接接到VSS上,就是输出低电平;
在开漏输出模式下,P-MOS无效,只有N-MOS有效。数据寄存器为1时,下管断开,输出相当于断开;数据寄存器为0时,下管导通,输出直接接到VSS上,输出低电平;(在这种模式下,只有低电平有驱动能力,可以作为通信协议的输出模式,还可以作为输出5V的电平信号,用来兼容5V的电平设备)
在关闭模式下,两个MOS管都关闭,输出的引脚设置为输入模式,
GPIO模式
输入模式




| 模式名称 | 性质 | 特征 |
|---|---|---|
| 浮空输入 | 数字输入 | 可读取引脚电平,若引脚悬空,则电平不确定 |
| 上拉输入 | 数字输入 | 可读取引脚电平,内部连接上拉电阻,悬空时默认高电平 |
| 下拉输入 | 数字输入 | 可读取引脚电平,内部连接下拉电阻,悬空时默认低电平 |
| 模拟输入(ADC) | 模拟输入 | GPIO无效,引脚直接接入内部ADC |
| 开漏输出 | 数字输出 | 可输出引脚电平,高电平为高阻态,低电平接VSS |
| 推挽输出 | 数字输出 | 可输出引脚电平,高电平接VDD,低电平接VSS |
| 复用开漏输出 | 数字输出 | 由片上外设控制,高电平为高阻态,低电平接VSS |
| 复用推挽输出 | 数字输出 | 由片上外设控制,高电平接VDD,低电平接VSS |
在输出模式中允许输入,但是在输入模式中不允许输出。(一个端口只能有一个输出,但是可以存在多个输入)

浙公网安备 33010602011771号