第04章 GPIO外设
约 428 字大约 1 分钟
2026-01-19
4.1 GPIO引脚模式
① 4 种输入模式
1. 模拟输入
2. 浮空输入
3. 上拉输入
4. 拉下输入② 4 种输出模式
1. 通用推挽输出
2. 通用开漏输出
3. 复用推挽输出
4. 复用开漏输出推挽和开漏的应用场景:
开漏模式适合的场景:① 总线模式(多个设备共用信号线) ②两个系统电压不一致(依靠上拉电阻保持电压一致)
其他情况推荐推挽模式
通用和复用区别:
通用:代码直接设置 ODR 来影响引脚的高低电平。
复用:片上外设影响引脚的高低电平,ODR 不影响引脚状态。
③ 配置引脚模式
MODE[1:0] 定义引脚模式:
00:输入模式。(默认值)01:输出模式,最大输出速率为 10 MHz。10:输出模式,最大输出速率为 2 MHz。11:输出模式,最大输出速率为 50 MHz。
CNF[1:0] 定义引脚的功能和特性:
- 输入模式下:
00:模拟输入。01:浮空输入。(默认值)10:上拉/下拉输入;设置ODR寄存器值确定上拉还是下拉。11: 保留。
- 输出模式下:
00:通用推挽输出。01:通用开漏输出。10:复用推挽输出。11:复用开漏输出。
4.2 GPIO 相关寄存器
GPIOx_CRL 端口配置低寄存器
GPIOx_CRH 端口配置低寄存器
GPIOx_IDR 输入数据接存钱
GPIOx_ODR 输出数据寄存器
GPIOx_BSRR 位设置/清除寄存器
GPIOx_BRR 位清除寄存器
GPIOx_LCKR 端口配置锁寄存器