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