STM32 GPIO 初始化要点速查
本文是排版示例,兼作以后写文章的模板:展示代码块、表格、列表、引用等全部样式。
时钟先行
任何外设初始化之前,先开时钟。GPIO 挂在 RCC 的 AHB1/AHB2 上(F4 系列为 AHB1):
1 | /* 使能 GPIOA 与 GPIOC 时钟(STM32F4 HAL) */ |
模式速查表

| 模式 | 缩写 | 典型用途 | 注意事项 |
|---|---|---|---|
| 推挽输出 | OUTPUT_PP |
LED、片选信号 | 有真实高低电平驱动能力 |
| 开漏输出 | OUTPUT_OD |
I2C、电平转换 | 需外接上拉电阻 |
| 浮空输入 | INPUT |
按键(外部上下拉时) | 悬空电平不定,勿长用 |
| 上拉输入 | INPUT_PULLUP |
按键(省外部电阻) | 内部上拉约 40kΩ |
| 模拟功能 | ANALOG |
ADC、DAC | 最省电,数字缓冲器断开 |
调试检查清单
- 时钟开了没有(最高频翻车点)
- 引脚有没有被复用为其他外设(查
Alternate function表) - 上下拉方向与外部电路是否冲突
- 输出速度是否匹配信号频率(LOW / MEDIUM / HIGH / VERY_HIGH)
经验法则:引脚行为诡异时,先读一遍
GPIOx->MODER与GPIOx->AFR寄存器实际值,别相信配置代码”应该”生效。
相关内容可参考本站后续的 中断与 DMA 笔记(占位链接,正式文章发布后替换)。
加粗、斜体、行内代码、外部链接——都在这一段里了。