|
几乎所有 STM32 入门者都会困惑: 👉 STM32 到底有多少个引脚?# ?" P1 _- O* e 我们来系统、工程化地讲清楚。 🧩 一、STM32 引脚数量 ≠ 功能数量 STM32 芯片的 “引脚数量” 是指 物理脚位 数量(例如 48 脚、64 脚、100 脚封装等);+ d- C# Y% ^: ^$ s 例如:
🧮 二、命名规则:端口 + 引脚编号 STM32 的 GPIO 命名遵循统一规则: 名称部分 含义 端口号表示 GPIO 组(如 GPIOA、GPIOB、GPIOC 等) 引脚号表示该端口内的第几个引脚(0–15) 📘 每个端口最多有 16 个引脚(0~15),但并非所有芯片型号都完整引出。 例如:
👉 即使 GPIOA 的第 0 引脚与 GPIOB 的第 0 引脚编号相同,- Q, r$ [0 Z! @1 C+ l$ z) A
$ m7 p5 ]2 f* c' p, M) H1 I
* e5 O/ c9 o. b9 p- Y& X1 A+ a ⚙️ 三、每个引脚的多功能设计(复用功能) STM32 的引脚通常具备多达 3~5 种功能,这是通过 复用功能机制(Alternate Function, AF) 实现的。 🔹 举例: GPIOA 的第 9 引脚(GPIOA Pin 9)可以被配置为:
这些都是通过设置引脚的 复用模式寄存器(AFR) 来决定的。 示例代码: GPIO_InitStruct.Pin = GPIO_PIN_9;3 N z1 y0 Y. D; g2 H: eGPIO_InitStruct.Mode = GPIO_MODE_AF_PP; // 复用推挽输出 GPIO_InitStruct.Alternate = GPIO_AF7_USART1; // 指定复用功能 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);# ?1 c. ^1 {: \5 \
🔩 四、复用冲突的现实例子 如果两个外设复用了同一个引脚:
🧠 工程思路:
1 h+ F9 R0 s1 ]* ^! f* L5 } 🧰 五、引脚唯一索引的计算 从软件层面看,GPIO(端口) + Pin(编号) 组合已经是唯一索引。 你可以把「端口号」映射为数字编号,并计算唯一索引: 端口 数字编号 索引公式 ! Z2 y* M9 U2 j2 m& f9 UGPIOA0(0 × 16 + PinNum) GPIOB1(1 × 16 + PinNum)5 A! a4 c; `" y) q4 a0 O7 j GPIOC2(2 × 16 + PinNum) GPIOD3(3 × 16 + PinNum) GPIOE4(4 × 16 + PinNum)
🧭 六、命名设计逻辑 STM32 的引脚命名体系体现了四个设计理念: 设计目标 说明 统一架构Cortex-M 系列 GPIO 模块均支持 16 位端口结构8 u, k& [1 W! l& T& w$ s0 a 模块化封装不同封装型号可裁剪端口数量以匹配封装尺寸 灵活复用外设数量多于引脚数量,通过 AF 机制实现最大兼容# }6 a, {$ ], C% F" a# d, }. ~: \, _ 硬件隔离同一时间仅一种功能有效,避免电气冲突 🔎 七、快速总结 概念 含义 物理引脚封装上的真实金属脚4 q0 U% A# y! n: X* f% b+ Z GPIO 端口GPIOA~GPIOE,每组最多 16 个引脚 逻辑编号GPIOx Pin_y,用于软件访问' _' E+ z. b" W' Y1 j; s; ?; \! O6 s 复用功能同一引脚可被多个外设共享,通过寄存器选择; b3 Y$ n5 Q/ @3 u1 ~' c 冲突机制一个引脚不能被多个功能同时使用- K! S7 v/ P+ W( I7 d 唯一索引端口号 × 16 + 引脚号,保证全局唯一性 🌟 八、示例(STM32F103C8T6) 引脚 功能1 功能2 功能3 GPIOA Pin 9GPIOUSART1_TXTIM1_CH2 GPIOA Pin 10GPIOUSART1_RXTIM1_CH35 k9 M6 f0 I2 f- R GPIOB Pin 6GPIOI2C1_SCLTIM4_CH1 C3 X8 j. p( D9 x/ K/ `" {' ^& f GPIOB Pin 7GPIOI2C1_SDATIM4_CH2 在实际工程中:
📘 九、一句话记忆法
|
基于STM32F767通过cube配置:QSPI接口读写64M PSRAM+flash参考资料...
STM32L562DK探索板——串口通讯测试成功
STM32L562DK探索板——再试串口通讯仍不成
实战经验 | 基于STM32G0B1的全桥移相+同步整流PWM解决方案
STM32L562DK探索板——串口通讯的再测试
STM32L562DK探索板——串口通讯的测试
STM32L562DK探索板——运动传感器测试
STM32L562DK探索板——继续深入了解Audio Play的工作流程
STM32L562DK探索板——触摸菜单实验之触摸测试
STM32L562DK探索板——触摸菜单实验之LED闪烁
微信公众号
手机版