// 输入模式(4种)
GPIO_Mode_AIN // 模拟输入
GPIO_Mode_IN_FLOATING // 浮空输入
GPIO_Mode_IPD // 下拉输入
GPIO_Mode_IPU // 上拉输入
// 通用输出模式(2种)
GPIO_Mode_Out_OD // 开漏输出
GPIO_Mode_Out_PP // 推挽输出
// 复用功能输出模式(2种)
GPIO_Mode_AF_OD // 复用开漏
GPIO_Mode_AF_PP // 复用推挽
一共4种输入+2种通用输出+2种复用输出
一、输入模式
1,GPIO_Mode_AIN—模拟输入
用途:AD采样、模拟信号输入
特点:功耗最低
场景:电位器、光敏、温度模拟采集
2,GPIO_Mode_IN_FLOATING—浮空输入
意思:什么都不接,纯读取
特点:电平完全由外部决定
场景:串口RX、SPI、I2C输入
3,GPIO_Mode_IPU—上拉输入
意思:内部接电阻到3.3V
默认高电平
场景:按键输入
4,GPIO_Mode_IPD—下拉输入
意思:内部接电阻到GND
默认低电平
场景:默认底的信号、极少用按键
二、通用输出—自己代码控制高低
5,GPIO_Mode_Out_PP—推挽输出
最强输出,可强拉高,强拉低
场景:LED、继电器、485控制脚
6,GPIO_Mode_Out_OD—开漏输出
只能拉低,不能输出高(需要外部上拉)
场景:I2C、多设备共享总线
三、复用功能输出—外设硬件自动控制
7,GPIO_Mode_AF_PP—复用推挽
串口、PWM、SPI自动输出
场景:串口TX/PWM/SPI
8,GPIO_Mode_AF_OD—复用开漏
外设控制的开漏
场景:I2C通信
一张表来帮你速记:
| AIN | 输入 | 模拟采样(AD) |
| IN_FLOATING | 输入 | 串口 RX、外设输入 |
| IPU | 输入 | 按键上拉 |
| IPD | 输入 | 默认低电平 |
| Out_PP | 输出 | LED、485 控制脚、强驱动 |
| Out_OD | 输出 | I2C、开漏总线 |
| AF_PP | 复用 | 串口 TX、PWM、SPI |
| AF_OD | 复用 | I2C 总线 |






