初识STM32F103ZET6:从零认识你的第一颗32位MCU
前言
STM32系列单片机在嵌入式领域的影响力无需多言。作为初学者,我们使用的第一颗芯片通常是STM32F103ZET6。这篇文章将带你系统性地认识这颗芯片------从它的命名含义、引脚功能,到开发工具和烧录流程,帮助你建立对STM32开发的基本认知。
一、STM32是什么?
简单来说,STM32是意法半导体(ST)公司推出的32位微控制器(MCU)。它在嵌入式领域的地位,可以理解为智能手机领域的"安卓"------生态丰富、市场庞大、应用广泛。
STM32的诞生背景
早期嵌入式教学普遍使用51单片机(8位,诞生于1970年代),其结构简单、无需仿真器即可通过串口烧录程序,非常适合教学入门。但面对现代产品对更低功耗、更高性能、更丰富外设的需求,51已经力不从心。
ARM公司适时推出了Cortex-M3内核,ST公司基于该内核推出了STM32系列MCU。凭借产品线丰富、性价比高、库开发简单三大优势,STM32迅速占领中低端MCU市场。
二、STM32能做什么?
STM32应用场景极为广泛:
智能穿戴:智能手环、手表
消费电子:平衡车、POS机、3D打印机
工业控制:PLC、电机驱动、传感器节点
物联网:智能家居、无线传感器
DIY创客:四轴飞行器、机器人
在立创开源广场(oshwhub.com)搜索"STM32",可以看到大量创客基于STM32制作的开源作品。
三、STM32F103ZET6 命名规则解读
3.1 "STM32"
ST:意法半导体(STMicroelectronics)
M:微电子(Microelectronics)
32:32位MCU
3.2 "F103"
F:属于主流(Mainstream)产品线
1:Cortex-M3内核
03:F1系列中的具体子型号
3.3 "ZET6" 逐字拆解
字符
含义
说明
Z
引脚数144
Z=144引脚,T=36,C=48,R=64
E
Flash容量512KB
4=16K,6=32K,8=64K,B=128K,C=256K,D=384K,E=512K,F=768K,G=1MB
T
封装类型LQFP
LQFP = 低轮廓四边扁平封装,是最常见的MCU封装形式
6
工作温度-40℃~85℃
6=-40℃85℃,7=-40℃105℃
四、认识引脚:MCU的"对外接口"
4.1 引脚布局
LQFP144封装的STM32F103ZET6共有144个引脚,每条边36个引脚。实物芯片上有一个实心圆点标记,从此处开始逆时针编号,从1到144。
4.2 引脚分类
类型
说明
特殊功能引脚
功能由硬件固定,必须按规范连接,否则芯片无法工作(电源、时钟、复位等)
普通引脚
可编程控制,可配置为输入、输出或复用为UART、I2C、SPI、ADC等外设功能
4.3 常见特殊功能引脚
VDD / VSS(电源引脚)
VDD:接3.3V正极
VSS:接GND(地)
MCU需要稳定的电源才能工作
NRST(复位引脚)
低电平有效(给0V触发复位)
相当于电脑的"重启键"
通常外接一个按键
BOOT0(启动模式选择)
接GND:正常启动,运行已烧录的程序
接3.3V:进入Bootloader刷机模式
开发时99%接GND
VBAT(备用电池)
当VDD掉电时,VBAT为RTC和备份寄存器供电
类似电脑主板的BIOS电池
4.4 普通引脚的编号方式
普通引脚按"组+编号"命名:
组
引脚范围
数量
PA
PA0 ~ PA15
16个
PB
PB0 ~ PB15
16个
PC
PC0 ~ PC15
16个
PD
PD0 ~ PD15
16个
PE
PE0 ~ PE15
16个
PF
PF0 ~ PF15
16个
PG
PG0 ~ PG15
16个
共7组 × 16 = 112个普通引脚。后续编程主要就是控制这些引脚的输入/输出状态。
五、仿真器:连接PC与开发板的桥梁
什么是仿真器?
仿真器是一种硬件调试工具,通过它连接开发板和PC,实现:
烧录:将编译好的程序写入MCU的Flash
调试:断点、单步执行、监控变量值
常见仿真器对比
仿真器
特点
ST-Link
ST官方出品,STM32/STM8专用,正版价格较高
J-Link
SEGGER公司生产,业界标准,功能强大,价格昂贵
DAPLink
ARM官方开源项目,免费、开源,适合初学者
U-Link
Keil配套仿真器
课程中使用DAPLink,因为它完全开源免费,且用法与ST-Link非常相似,后续切换到ST-Link几乎零学习成本。
SWD调试接口(4线连接)
DAPLink与开发板通过4根线连接:
引脚
功能
GND
接地
SWCLK
时钟线
SWDIO
数据线
RST
复位(可选)
其他未使用的引脚属于JTAG完整接口的辅助信号,在SWD调试模式下不需要连接。
六、第一次烧录:跑通测试程序
准备工作
连接硬件:DAPLink → 开发板(4根杜邦线)
连接电脑:DAPLink的USB口 → 电脑USB
下载测试工程:从Gitee克隆或直接下载ZIP
编译
在Keil中点击Build按钮,提示"0 Errors, 0 Warnings"即编译成功。
烧录步骤
点击魔术棒 → Debug → 选择CMSIS-DAP Debugger
Settings → Flash Download → 勾选"Reset and Run"
点击Download按钮烧录程序
烧录成功后,开发板上的LED开始闪烁。至此,你已经完成了人生的第一次STM32程序烧录!
七、核心概念补充
裸机开发 vs 操作系统开发
裸机开发:程序直接运行在硬件上,没有操作系统中间层。这种方式入门门槛低、性能高、可控性强,是初学者切入嵌入式开发的理想选择。
操作系统开发:程序运行在FreeRTOS等实时操作系统上,适用于复杂多任务场景。后续会有专门课程讲解。
为什么MCU内部有Flash?
Flash是MCU的程序存储器,用于存储烧录的二进制程序。不同MCU的Flash容量不同(如E=512KB),对应能承载不同规模的程序。Flash容量越大,可以运行更复杂的逻辑,但也意味着更高的成本。
八、总结
知识点
核心内容
STM32是什么
ST公司推出的32位MCU,基于Cortex-M内核
STM32F103ZET6含义
F系列主流,M3内核,144引脚,512KB Flash,LQFP封装,-40~85℃
引脚分类
特殊功能引脚(固定)+ 普通引脚(可编程)
仿真器作用
烧录程序 + 在线调试
烧录流程
编译 → 配置Debug → Download
开发模式
裸机开发(入门)+ 操作系统(进阶)