STM32知识分享1(GPIO,OLED,中断系统,EXTI)
1. GPIO(通用输入输出口)
GPIO是STM32中最基础的外设之一,用于连接外部设备并实现数据交互。每个GPIO引脚电平范围在0V至3.3V之间,部分引脚可容忍5V输入,增强了兼容性。GPIO可配置为输入或输出模式,支持多种功能:
- 输出模式:控制引脚输出高电平或低电平,用于驱动LED、蜂鸣器,或模拟通信协议时序(如I2C、SPI)。
- 输入模式:读取引脚电平或电压,用于检测按键输入、外接模块信号,或配合ADC(模数转换器)进行电压采集。
GPIO支持8种配置模式,每种模式针对不同应用场景设计。下表总结了这些模式的特征:
| 模式名称 | 性质 | 特征 |
|---|---|---|
| 浮空输入 | 数字输入 | 可读取引脚电平,若引脚悬空,则电平不确定 |
| 上拉输入 | 数字输入 | 可读取引脚电平,内部连接上拉电阻,悬空时默认高电平 |
| 下拉输入 | 数字输入 | 可读取引脚电平,内部连接下拉电阻,悬空时默认低电平 |
| 模拟输入 | 模拟输入 | GPIO无效,引脚直接接入内部ADC |
| 开漏输出 | 数字输出 | 可输出引脚电平,高电平为高阻态,低电平接VSS |
| 推挽输出 | 数字输出 | 可输出引脚电平,高电平接VDD,低电平接VSS |
| 复用开漏输出 | 数字输出 | 由片上外设控制,高电平为高阻态,低电平接VSS |
| 复用推挽输出 | 数字输出 | 由片上外设控制,高电平接VDD,低电平接VSS |
在C语言编程中,数据类型的选择直接影响GPIO操作效率。下表列出了常用数据类型及其特性:
| 关键字 | 位数 | 表示范围 | stdint 关键字 | ST 关键字 |
|---|---|---|---|---|
| char | 8 |
