
初识 STM32 :从命名到引脚,再到二极管与电路基础
一、什么是 STM32
STM32 是意法半导体(STMicroelectronics,简称 ST)推出的基于 ARM Cortex-M 内核的 32 位微控制器(MCU)系列。
- STM:品牌前缀,代表 STMicroelectronics
- 32:32 位架构,区别于传统 8 位/16 位单片机
与 51 单片机相比,STM32 具有更高的主频(72MHz 起步)、更丰富的外设(GPIO、USART、SPI、I2C、ADC、DAC、定时器等)、更大的存储容量,以及更低的功耗,是目前嵌入式开发中应用最广泛的 MCU 平台之一。
二、STM32 能做什么
STM32 的应用场景几乎覆盖所有嵌入式领域:
| 工业控制 | PLC、电机驱动、传感器数据采集、工业机器人 |
| 消费电子 | 智能家居、无人机、智能手表、游戏外设 |
| 汽车电子 | 车身控制、仪表盘、车载娱乐(车规级型号) |
| 物联网 | WiFi/蓝牙网关、环境监测节点、智能门锁 |
| 医疗设备 | 便携监护仪、输液泵、健康手环 |
| 教育学习 | 机器人竞赛、电子设计竞赛、创客项目 |
简单来说:凡是需要"智能控制"的地方,几乎都能看到 STM32 的身影。
三、STM32 分类
STM32 按内核和定位分为多个系列:
| F0 | Cortex-M0 | 入门级,低成本替代 8 位机 | 48MHz |
| F1 | Cortex-M3 | 主流通用型,生态最成熟 | 72MHz |
| F2 | Cortex-M3 | 高性能,大存储 | 120MHz |
| F3 | Cortex-M4F | 混合信号,带 DSP/FPU | 72MHz |
| F4 | Cortex-M4F | 高性能,带 DSP/FPU | 168MHz |
| F7 | Cortex-M7 | 超高性能 | 216MHz |
| H7 | Cortex-M7 | 旗舰级 | 480MHz |
| L0/L1/L4/L5 | Cortex-M0+/M4 | 低功耗系列 | 32~80MHz |
| G0/G4 | Cortex-M0+/M4F | 新一代主流 | 64~170MHz |
| WB/WL | Cortex-M4 | 无线系列(蓝牙/LoRa) | 64MHz |
F1 系列是学习 STM32 的首选——资料最多、教程最全、开发板最便宜,是嵌入式入门的"标准答案"。
四、STM32F103ZET6 命名方法
拿到一颗芯片,丝印上的每一个字符都有含义。以 STM32F103ZET6 为例,逐位拆解:
STM32 F 103 Z E T 6
│ │ │ │ │ │ │
│ │ │ │ │ │ └─ 温度范围
│ │ │ │ │ └──── 封装类型
│ │ │ │ └─────── Flash 容量
│ │ │ └────────── 引脚数量
│ │ └────────────── 产品子系列
│ └────────────────── 产品类型
└─────────────────────── 品牌系列
4.1 逐位详解
| STM32 | — | ST 公司 32 位 ARM Cortex-M 微控制器 |
| F | F | 产品类型:F = 通用型(还有 L=低功耗、H=高性能、G=新一代主流、W=无线等) |
| 103 | 103 | 产品子系列:103 = 增强型(101=基本型、102=USB基本型、105/107=互联型) |
| Z | Z | 引脚数量:Z = 144 脚(T=36、C=48、R=64、V=100、Z=144) |
| E | E | Flash 容量:E = 512KB(6=32K、8=64K、B=128K、C=256K、D=384K、E=512K、G=1M) |
| T | T | 封装类型:T = LQFP(H=BGA、T=LQFP、U=VFQFPN) |
| 6 | 6 | 温度范围:6 = 工业级 -40℃ ~ +85℃(7=工业级 -40105℃,A=汽车级 -4085℃) |
4.2 ZET6 小结
所以 ZET6 三个字的含义是:
Z = 144 引脚 | E = 512KB Flash | T = LQFP 封装 | 6 = 工业级温度
整颗芯片的关键参数:
| 内核 | ARM Cortex-M3 |
| 主频 | 72 MHz |
| Flash | 512 KB |
| SRAM | 64 KB |
| 引脚数 | 144(LQFP144 封装,20×20mm) |
| GPIO | 112 个(GPIOA~GPIOG,每组 16 个) |
| 工作电压 | 2.0V ~ 3.6V |
| 温度范围 | -40℃ ~ +85℃ |
五、认识 STM32F103ZET6 引脚
144 个引脚看起来密密麻麻,但按功能分类后逻辑非常清晰。
5.1 引脚布局
STM32F103ZET6 采用 LQFP144 封装(Low-profile Quad Flat Package),四边出脚,每边 36 个引脚。
- 引脚编号从左上角的小圆点(Pin 1)开始,逆时针递增
- 封装尺寸:20mm × 20mm(含引脚),芯片本体 14mm × 14mm
- 引脚间距(Pitch):0.5mm
144 个引脚按功能可分为四大类:
| 电源与地 | ~20 | VDD、VSS、VDDA、VSSA、VBAT 等 |
| 复位与启动 | 3 | NRST、BOOT0、BOOT1(PB2) |
| 时钟相关 | 4 | OSC_IN/OSC_OUT(主晶振)、OSC32_IN/OSC32_OUT(RTC晶振) |
| 通用 I/O(GPIO) | 112 | PA0~PG15,可复用为 SPI/I2C/USART/ADC/TIM 等 |
5.2 特殊功能引脚(常见部分)
这些引脚是芯片正常工作的"生命线",设计硬件时必须正确连接。
(1)电源引脚
| VDD | 数字电源(2.0~3.6V,典型 3.3V) | 所有 VDD 引脚必须全部接 3.3V,不可悬空 |
| VSS | 数字地 | 所有 VSS 引脚必须全部接 GND |
| VDDA | 模拟电源(ADC 专用) | 接 3.3V,建议与 VDD 之间加磁珠或 LC 滤波 |
| VSSA | 模拟地 | 接 GND,单点接地 |
| VBAT | RTC 备份域电源 | 接纽扣电池(3V)或直接接 VDD,掉电时保持 RTC 和备份寄存器 |
注意:144 脚芯片有多个 VDD/VSS 引脚(分布在四边),每一个都必须连接,否则芯片可能不稳定甚至无法工作。每个 VDD 引脚旁都应放置一个 100nF 去耦电容。
(2)复位引脚
| NRST | 系统复位,低电平有效 |
接 10kΩ 上拉电阻到 VDD,并并联一个复位按键到 GND; 也可接 100nF 电容到 GND 实现上电复位 |
NRST 内部已有上拉,但外部仍建议加上拉电阻+按键,方便手动复位调试。
(3)启动模式引脚(BOOT)
BOOT 引脚决定芯片复位后从哪里取指令执行:
| X | 0 | 用户 Flash 启动 | 正常运行模式,从 0x08000000 取指 |
| 0 | 1 | 系统存储器启动 | 从芯片内置 Bootloader 启动,用于串口下载程序(ISP) |
| 1 | 1 | 内置 SRAM 启动 | 从 RAM 启动,用于调试 |
- BOOT0:独立引脚,正常工作时接 GND(10kΩ 下拉),需要串口下载时接 VDD
- BOOT1:与 PB2 复用,正常工作时接 GND 即可
开发板上常见的 BOOT 跳帽就是用来切换这两种模式的:正常运行 = BOOT0 接 GND;串口下载 = BOOT0 接 3.3V。
(4)时钟引脚
| OSC_IN (PD0) | 主晶振输入 | 接 8MHz 晶振一端 |
| OSC_OUT (PD1) | 主晶振输出 | 接 8MHz 晶振另一端 |
| OSC32_IN (PC14) | RTC 晶振输入 | 接 32.768kHz 晶振一端 |
| OSC32_OUT (PC15) | RTC 晶振输出 | 接 32.768kHz 晶振另一端 |
- 主晶振(HSE)通常用 8MHz,经内部 PLL 倍频到 72MHz
- RTC 晶振用 32.768kHz(2^15 Hz,方便分频得到 1Hz 秒信号)
- 晶振两端各接一个负载电容(通常 10~22pF)到 GND
(5)调试接口引脚
| PA13 (JTMS/SWDIO) | JTAG 模式数据 / SWD 模式数据线 |
| PA14 (JTCK/SWCLK) | JTAG 时钟 / SWD 时钟线 |
| PA15 (JTDI) | JTAG 数据输入 |
| PB3 (JTDO) | JTAG 数据输出 |
| PB4 (JNTRST) | JTAG 复位 |
- SWD 模式只需 PA13 + PA14 两根线(加 GND 和 VCC),是最常用的调试方式
- JTAG 模式需要 5 根线,功能更全但占用引脚多
- 调试完成后,这些引脚可以重映射为普通 GPIO 使用
5.3 普通引脚(GPIO)
除去上述特殊功能引脚,剩下的 112 个引脚都是 通用输入输出口(GPIO),分为 7 组:
| GPIOA | PA0 ~ PA15 | 16 |
| GPIOB | PB0 ~ PB15 | 16 |
| GPIOC | PC0 ~ PC15 | 16 |
| GPIOD | PD0 ~ PD15 | 16 |
| GPIOE | PE0 ~ PE15 | 16 |
| GPIOF | PF0 ~ PF15 | 16 |
| GPIOG | PG0 ~ PG15 | 16 |
每个 GPIO 引脚都可以独立配置为以下模式:
| 浮空输入 | 引脚电平由外部决定,高阻态 | 按键输入(需外部上下拉) |
| 上拉输入 | 内部接上拉电阻,默认高电平 | 按键输入(按下为低) |
| 下拉输入 | 内部接下拉电阻,默认低电平 | 按键输入(按下为高) |
| 模拟输入 | 连接到 ADC,不经过施密特触发器 | ADC 电压采集 |
| 开漏输出 | 只能拉低,高电平为高阻态 | I2C 总线(需外部上拉)、电平转换 |
| 推挽输出 | 可输出强高/低电平 | LED 驱动、普通控制信号 |
| 复用推挽输出 | 外设功能的推挽输出 | USART_TX、SPI_SCK/MOSI |
| 复用开漏输出 | 外设功能的开漏输出 | I2C 的 SCL/SDA |
GPIO 的输出速度也可配置:
2MHz / 10MHz / 50MHz,速度越高功耗和噪声越大,按需选择。
六、补充知识:二极管
在 STM32 硬件电路中,二极管无处不在——电源防反接、LED 指示、稳压、整流都离不开它。
6.1 什么是二极管
二极管(Diode)是一种具有两个电极的半导体器件,
最核心的特性是单向导电性:电流只能从阳极(正极,Anode)流向阴极(负极,Cathode),反向几乎不导通。
6.2 工作原理:PN 结
二极管的核心是 PN 结:
- P 型半导体:掺入三价元素(如硼),多数载流子是带正电的空穴
- N 型半导体:掺入五价元素(如磷),多数载流子是带负电的电子
- P 区和 N 区的交界面形成 PN 结,结区因载流子扩散复合形成几乎没有载流子的耗尽层(空间电荷区)
正向偏置(导通)
当阳极接正、阴极接负(P 接正,N 接负)时:
- 外电场削弱内电场,耗尽层变薄
- 当正向电压超过导通压降(硅管约 0.60.7V,锗管约 0.20.3V)后,载流子大量越过 PN 结,电流急剧增大
- 二极管导通,相当于开关闭合
反向偏置(截止)
当阳极接负、阴极接正(P 接负,N 接正)时:
- 外电场增强内电场,耗尽层变厚
- 只有极少数少数载流子能越过结区,形成极小的反向漏电流(μA 级)
- 二极管截止,相当于开关断开
当反向电压超过反向击穿电压时,二极管会发生击穿(齐纳击穿或雪崩击穿),电流急剧增大。普通二极管击穿即损坏,但稳压二极管正是工作在击穿区。
6.3 二极管的伏安特性
电流 I
↑
│ ↗ 正向导通区(指数上升)
│ ↗
│ ↗
——-+—+——→ 电压 V
│ 0.7V
│
│ 反向截止区(几乎为0)
│ ─────────────
│ ↓ 反向击穿区
关键参数:
- 正向导通压降 V_F:硅管 0.60.7V,肖特基管 0.20.4V
- 最大正向电流 I_F(max):长时间工作允许的最大电流
- 反向击穿电压 V_BR:反向击穿的临界电压
- 反向恢复时间 t_rr:从导通切换到截止所需的时间(影响高频应用)
6.4 常见二极管类型及应用
| 普通整流二极管 | 电流大、耐压高、速度慢 | 电源整流、防反接 | 1N4007(1A/1000V)、1N5408(3A) |
| 快恢复二极管 | 反向恢复时间短(ns级) | 高频整流、开关电源 | FR107、UF4007 |
| 肖特基二极管 | 压降低(0.2~0.4V)、速度快、反向耐压低 | 低压大电流整流、防反接 | 1N5819(1A/40V)、SS34 |
| 稳压二极管(齐纳管) | 工作在反向击穿区,电压稳定 | 稳压电路、电压基准 | 1N4733(5.1V)、BZX84C3V3 |
| 发光二极管(LED) | 正向导通时发光 | 电源指示、信号指示、照明 | 红/绿/蓝/白光 LED |
| 光电二极管 | 受光照产生电流 | 光检测、光通信 | — |
| 变容二极管 | 结电容随反向电压变化 | 电调谐、射频电路 | — |
6.5 二极管在 STM32 电路中的典型应用
(1)电源防反接
二极管(正向压降~0.7V)
BAT+ ────|>|───── VCC(系统3.3V前级)
BAT- ──────────── GND
电源接反时二极管截止,保护后级电路。缺点是有 0.7V 压降,大电流时发热明显,低压系统可用肖特基二极管降低损耗。
(2)LED 指示电路
3.3V ──── 电阻(330Ω~1kΩ) ──── LED(阳极→阴极) ──── PA0(GPIO)
- GPIO 输出低电平时 LED 亮(电流从 3.3V 经 LED 流入 GPIO)
- GPIO 输出高电平时 LED 灭
- 限流电阻计算公式:R = (VCC – V_F – V_OL) / I_F
- 例如:(3.3 – 2.0 – 0.3)V / 10mA = 100Ω(实际常用 330Ω~1kΩ,亮度适中)
(3)稳压二极管稳压
V_IN(12V) ──── 电阻(限流) ────┬──── V_OUT(5.1V)
│
稳压管(阴极接V_OUT,阳极接GND)
│
GND
稳压管工作在反向击穿区,两端电压稳定在稳压值。
限流电阻取值:R = (V_IN – V_Z) / (I_Z + I_LOAD)
七、补充知识:基础电路
理解 STM32 硬件设计,必须掌握以下电路基础。
7.1 电路的基本物理量
| 电压 | U / V | 伏特(V) | 两点之间的电位差,驱动电流流动的"动力" |
| 电流 | I | 安培(A) | 电荷的定向移动,1A = 1C/s |
| 电阻 | R | 欧姆(Ω) | 阻碍电流流动的能力 |
| 功率 | P | 瓦特(W) | 能量转换速率,P = UI = I²R = U²/R |
| 电能 | W | 焦耳(J)/ 度(kWh) | W = Pt,1度 = 1kWh = 3.6×10⁶J |
7.2 欧姆定律
电路中最基本的定律:
U = I \\ R
变形:
- I = U / R(求电流)
- R = U / I(求电阻)
类比理解:电压像水压,电流像水流,电阻像水管的粗细——水压越大水流越大,水管越细水流越小。
7.3 串联与并联
串联电路
┌─── R1 ─── R2 ─── R3 ───┐
│ │
└───────── VCC ────────────┘
- 电流处处相等:I = I1 = I2 = I3
- 总电压等于各部分电压之和:U = U1 + U2 + U3
- 总电阻:R_total = R1 + R2 + R3
- 分压公式:U1 = U × R1 / (R1+R2+R3)
并联电路
┌─── R1 ───┐
│ │
VCC ──┼─── R2 ───┼── GND
│ │
└─── R3 ───┘
- 各支路电压相等:U = U1 = U2 = U3
- 总电流等于各支路电流之和:I = I1 + I2 + I3
- 总电阻:1/R_total = 1/R1 + 1/R2 + 1/R3(两个电阻并联:R = R1×R2/(R1+R2))
- 分流公式:I1 = I × R2 / (R1+R2)(两电阻并联)
7.4 基尔霍夫定律
KCL(基尔霍夫电流定律)
任意时刻,流入任一节点的电流之和 = 流出该节点的电流之和。
\\sum I_{in} = \\sum I_{out}
本质是电荷守恒——节点不会凭空产生或消失电荷。
KVL(基尔霍夫电压定律)
任意时刻,沿任一闭合回路绕行一周,所有电压的代数和为零。
$$\\sum V = 0$$
本质是能量守恒——绕一圈回到起点,电位不变。
7.5 三大被动元件
(1)电阻(Resistor)
- 符号:R,单位:Ω
- 作用:限流、分压、上拉/下拉、负载
- 串联:R = R1 + R2;并联:1/R = 1/R1 + 1/R2
- 功率:P = I²R,选型时功率必须留余量(常用 1/4W、1/8W 贴片电阻)
STM32 中常见电阻用法:
- 上拉电阻(10kΩ):接在引脚和 VCC 之间,确保引脚默认高电平(如 I2C 的 SDA/SCL、按键输入)
- 下拉电阻(10kΩ):接在引脚和 GND 之间,确保引脚默认低电平(如 BOOT0)
- 限流电阻(330Ω~1kΩ):LED 串联电阻,防止电流过大烧毁
- 分压电阻:将高电压按比例降低到 ADC 可采集范围(如 12V 电池电压检测)
(2)电容(Capacitor)
- 符号:C,单位:法拉(F),常用 μF、nF、pF
- 作用:储能、滤波、去耦、旁路、延时
- 串联:1/C = 1/C1 + 1/C2;并联:C = C1 + C2
- 电容两端电压不能突变(充电需要时间),通交流、隔直流
电容的阻抗(容抗):

频率越高、容量越大,容抗越小——这就是电容"通高频、阻低频"的原理。
STM32 中常见电容用法:
- 去耦电容(100nF = 0.1μF):每个 VDD 引脚旁放一个,就近滤除高频噪声,必须尽量靠近芯片引脚
- ** bulk 电容**(10μF~100μF):电源入口处,提供瞬时大电流、稳定电压
- 晶振负载电容(10~22pF):晶振两端到 GND,帮助晶振起振并稳定频率
- 复位电容(100nF):NRST 引脚到 GND,实现上电自动复位(RC 延时)
- 滤波电容:VDDA 旁的 LC 或 RC 滤波,净化 ADC 模拟电源
(3)电感(Inductor)
- 符号:L,单位:亨利(H),常用 mH、μH
- 作用:储能、滤波、升压/降压(DC-DC)、扼流
- 串联:L = L1 + L2;并联:1/L = 1/L1 + 1/L2
- 电感中的电流不能突变,通直流、阻交流
电感的阻抗(感抗):

频率越高、电感越大,感抗越大——这就是电感"通低频、阻高频"的原理。
在 STM32 系统中,电感主要出现在 DC-DC 开关电源(如 5V 转 3.3V 的 Buck 电路)和 LC 滤波电路中。
7.6 RC 充放电电路
电阻和电容串联构成最基本的延时/滤波电路:
VIN ──── R ────┬──── VOUT
│
C
│
GND
- 充电时:V_OUT(t) = V_IN × (1 – e^(-t/RC))
- 放电时:V_OUT(t) = V0 × e^(-t/RC)
- 时间常数:τ = R × C(单位:秒)
- 经过 1τ,电容充到约 63%
- 经过 3τ,充到约 95%
- 经过 5τ,基本充满(99.3%)
应用:STM32 的 NRST 引脚接 10kΩ 上拉 + 100nF 电容到 GND,上电时电容充电使 NRST 保持低电平一段时间(τ = 10kΩ × 100nF = 1ms),实现可靠的上电复位。
7.7 电源与地
电源分类
| 线性稳压器(LDO) | 输入输出压差小、噪声低、静态电流小;效率较低、发热大 | AMS1117-3.3(5V→3.3V)、RT9193 |
| 开关稳压器(DC-DC) | 效率高(90%+)、发热小、可升压/降压/反相;噪声大、外围元件多 | MP2307(Buck 降压)、XL6009(Boost 升压) |
STM32 系统典型供电链:
USB 5V ──→ LDO/DC-DC ──→ 3.3V ──→ STM32 VDD
└─→ 3.3V ──→ 磁珠 ──→ VDDA(ADC模拟电源)
地的分类
- 数字地(DGND):数字电路的地,电平跳变快、噪声大
- 模拟地(AGND):模拟电路的地,要求干净、低噪声
- 功率地(PGND):大电流回路的地,压降大
- 设计原则:单点接地——数字地和模拟地在电源入口处用磁珠或 0Ω 电阻连接,避免数字噪声串入模拟电路




![[开源]基于STM32单片机WIFI智能窗户系统 Onenet云平台设计HK-003-171主机测评](https://www.171host.com/wp-content/uploads/2026/09/20260903070616-6a991c6823886-220x150.jpg)