1.GPIO的输入模式
(1)浮空输入:(Floating Input)
此时
I/O
引脚浮空,读取的电平是不确定的,外部信号是
什么电平,引脚就输入什么电平,芯片复位上电后,默认为浮空输入模式
(2)模拟输入:(Analog mode)
引脚信号直接连接模拟输入,实现对外部信号的采集,可
以收集
0~Vss
的电压值
(3)上拉输入:(Input Pull Up:IPU)
当没有外界信号输入时,默认为高电平。最典型的案例是按键,为上拉输入时,当没有按键按下,默认为高电平,有按键按下,则变为低电平。
(4)上拉输入:(Input Pull Down:IPD)
当没有外界信号输入时,默认为低电平。最典型的案例是按键,为下拉输入时,当没有按键按下,默认为低电平,有按键按下,则变为高电平。
2.GPIO的输出模式
(1)推挽输出:(Push Pull: PP)
输出高电平时就是直接接到了我们的单片机的到
VDD
(
3.3V
),输出低电平时就是直接接到了我们的单片机的到
Vss
(
0V
)
,
最直接的输出方式,
让
“
输出控制
”
变为了
VDD/Vss
输出,使得输出电流增大,提高了输出引脚的驱动能力,提高
了电路的负载能力和开关的动作速度
(例如LED灯的点亮,蜂鸣器)
(2)开漏输出:(Open Drain:OD)
推挽输出是直接连接
VDD(3.3V)
和
Vss(0V)
进行输
出,开漏输出则不同,它只连接了我们的
Vss(0V)
(只对低电平有效Vss)
(3)复用推挽
/
开漏输出(
Alternate Function
,
AF
)
这两个放在一起介绍,
GPIO
引脚除
了作为通用输入
/
输出引脚使用外,还可以作为片上外设(
USART
、
I2C
、
SPI
等)专用引
脚,即一个引脚可以有多种用途,但同一时刻一个引脚只能使用复用功能中的一个。当引脚
设置为复用功能时,可选择复用推挽输出模式或复用开漏输出模式,在设置为复用开漏输出
模式时,需要外接上拉电阻