1. 输入模式(Input Mode)
-
特点:
-
引脚配置为输入,用于读取外部信号。
-
可以配置为浮空输入(无上拉/下拉电阻)或带上拉/下拉电阻的输入。
-
-
应用场景:
-
读取按键状态。
-
读取传感器信号。
-
-
使用方法:
-
配置为浮空输入:
GPIO_Mode_IN_FLOATING
。 -
配置为上拉输入:
GPIO_Mode_IPU
。 -
配置为下拉输入:
GPIO_Mode_IPD
。
-
-
优点:
-
简单易用,适合读取数字信号。
-
-
缺点:
-
浮空输入时易受噪声干扰。
-
2. 输出模式(Output Mode)
-
特点:
-
引脚配置为输出,用于驱动外部设备。
-
可以配置为推挽输出或开漏输出。
-
-
应用场景:
-
控制LED灯。
-
驱动继电器或晶体管。
-
-
使用方法:
-
配置为推挽输出:
GPIO_Mode_Out_PP
。 -
配置为开漏输出:
GPIO_Mode_Out_OD
。
-
-
优点:
-
推挽输出具有较强的驱动能力。
-
开漏输出适合电平转换和多设备通信。
-
-
缺点:
-
开漏输出需要外部上拉电阻才能输出高电平。
-
3. 复用功能模式(Alternate Function Mode)
-
特点:
-
引脚配置为复用功能,用于连接外设(如UART、SPI、I2C等)。
-
可以配置为推挽复用或开漏复用。
-
-
应用场景:
-
串口通信(UART)。
-
SPI或I2C通信。
-
-
使用方法:
-
配置为推挽复用:
GPIO_Mode_AF_PP
。 -
配置为开漏复用:
GPIO_Mode_AF_OD
。
-
-
优点:
-
直接连接外设,简化电路设计。
-
-
缺点:
-
配置复杂,需要了解外设的具体要求。
-
4. 模拟模式(Analog Mode)
-
特点:
-
引脚配置为模拟输入或输出,用于连接ADC或DAC。
-
输入模式下,引脚内部的上拉/下拉电阻被禁用。
-
-
应用场景:
-
读取模拟信号(如温度传感器、光敏电阻)。
-
输出模拟信号(如音频信号)。
-
-
使用方法:
-
配置为模拟输入:
GPIO_Mode_AIN
。
-
-
优点:
-
适合高精度模拟信号处理。
-
-
缺点:
-
只能用于模拟信号,不能用于数字信号。
-
5. 推挽输出模式(Push-Pull Output Mode)
-
特点:
-
输出高电平时,引脚驱动高电平;输出低电平时,引脚驱动低电平。
-
具有较强的驱动能力。
-
-
应用场景:
-
驱动LED、蜂鸣器等设备。
-
-
使用方法:
-
配置为推挽输出:
GPIO_Mode_Out_PP
。
-
-
优点:
-
驱动能力强,适合直接驱动负载。
-
-
缺点:
-
不适合电平转换或多设备通信。
-
6. 开漏输出模式(Open-Drain Output Mode)
-
特点:
-
输出低电平时,引脚驱动低电平;输出高电平时,引脚为高阻态。
-
需要外部上拉电阻才能输出高电平。
-
-
应用场景:
-
I2C通信。
-
电平转换。
-
-
使用方法:
-
配置为开漏输出:
GPIO_Mode_Out_OD
。
-
-
优点:
-
适合多设备通信和电平转换。
-
-
缺点:
-
需要外部上拉电阻,驱动能力较弱。
-
7. 上拉输入模式(Input Pull-Up Mode)
-
特点:
-
引脚内部连接上拉电阻,默认状态为高电平。
-
-
应用场景:
-
读取按键状态(按键另一端接地)。
-
-
使用方法:
-
配置为上拉输入:
GPIO_Mode_IPU
。
-
-
优点:
-
简化电路设计,减少外部元件。
-
-
缺点:
-
上拉电阻值固定,可能不适合某些应用。
-
8. 下拉输入模式(Input Pull-Down Mode)
-
特点:
-
引脚内部连接下拉电阻,默认状态为低电平。
-
-
应用场景:
-
读取按键状态(按键另一端接电源)。
-
-
使用方法:
-
配置为下拉输入:
GPIO_Mode_IPD
。
-
-
优点:
-
简化电路设计,减少外部元件。
-
-
缺点:
-
下拉电阻值固定,可能不适合某些应用。
-
总结
模式 | 特点 | 应用场景 | 优点 | 缺点 |
---|---|---|---|---|
输入模式 | 读取外部信号 | 按键、传感器 | 简单易用 | 浮空输入易受噪声干扰 |
输出模式 | 驱动外部设备 | LED、继电器 | 推挽输出驱动能力强 | 开漏输出需要外部上拉电阻 |
复用功能模式 | 连接外设 | UART、SPI、I2C | 简化电路设计 | 配置复杂 |
模拟模式 | 连接ADC/DAC | 模拟信号处理 | 高精度模拟信号处理 | 仅适用于模拟信号 |
推挽输出模式 | 驱动高/低电平 | LED、蜂鸣器 | 驱动能力强 | 不适合电平转换 |
开漏输出模式 | 高阻态输出,需外部上拉 | I2C、电平转换 | 适合多设备通信 | 需要外部上拉电阻 |
上拉输入模式 | 内部上拉电阻,默认高电平 | 按键(另一端接地) | 简化电路设计 | 上拉电阻值固定 |
下拉输入模式 | 内部下拉电阻,默认低电平 | 按键(另一端接电源) | 简化电路设计 | 下拉电阻值固定 |