1.什么是GPIO
- GPIO是(General-purpose input/output)的英文简写
- GPIO是通用输入/输出端口的简称
- 是嵌入式系统中常见的一种接口类型,用来控制和读取数字信号
- STM32 芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。
2.GPIO的八种工作模式
- 模拟输入:GPIO_Mode_AIN
- 浮空输入:GPIO_Mode_IN_FLOATING
- 下拉输入:GPIO_Mode_IPD
- 上拉输入:GPIO_Mode_IPU
- 开漏输出:GPIO_Mode_Out_OD
- 推挽输出:GPIO_Mode_Out_PP
- 复用开漏输出:GPIO_Mode_AF_OD
- 复用推挽输出:GPIO_Mode_AF_PP
模拟输入:应用于ADC电压值采样输入,TTL肖特基触发器以及上拉电阻和下拉电阻都处于关闭状态。引脚直接接入ADC
浮空输入:信号电平不确定,完全由外部信号决定,一般用于按键检测
下拉输入:连接下拉电阻,默认为低电平。
上拉输入:连接上拉电阻,默认为高电平。
开漏输出:
- 默认输出低电平,
- 设置高电平,N-MOS管截至,I/O端口的电平外部的上拉或者下拉决定
- 设置低电平,N-MOS导通,此时I/O端口的电平是低电平
推挽输出:
- 设置输出高电平,P-MOS管导通,N-MOS管截止,I/O口电平被P-MOS管拉高,
- 设置输出为低电平,P-MOS管截止,N-MOS管导通,I/O端口电平被N-MOS管拉低,输出强低电平。
复用开漏输出:片内外设来决定的高低电平
复用推挽输出:片内外设来决定的高低电平