为什么想学 STM32

为什么学 STM32 1

在此之前我完全不知道 STM32 是什么,只是在 X 上刷到了很多硬件的分享帖子。同时感觉只会写软件太局限了,接触点硬件也很不错。于是在朋友的推荐下买了 STM32。在购买的时候遇到了一个有趣的事情,由于我是在咸鱼买的二手 STM32 套件,刚好是江协的,价格刚好是 32, 拿到货之后很新,就拆了几个,但 STM32 没有拆,还是那个灰色的透明塑封包着的。

而且这个包装特别自信,二维码就是 STM32 入门套件,一扫就跳到 bing,第一个就是江协的 CSDN,然后官网直接跳转到视频,视频课程还有百度网盘的下载链接(很 low,为什么不做成在线的文档,一种很老的气息扑面而来)而且还有 2475.4万 的播放量。这说明这个行业很卷,很多人。

拿到手之后,我看到了 STM32 的芯片,其他的大差不差。我比较好奇这些丝印具体代表什么,于是整理了一个对照表:

标记对应含义补充说明
STSTMicroelectronics(意法半导体)厂牌标识表示芯片品牌/厂商来源。
e4 / E4无铅端子表面处理代码(Pb-free finish)常见对应为 NiPdAu(镍-钯-金)类终端镀层,属于环保封装标识体系。
X厂家内部追溯字符/批次字符(非统一国际认证标志)常用于生产追踪、批次或工艺区分;单独一个 X 通常不等于 WEEE 垃圾桶标志。

假的 STM32 芯片

英文缩写中文名称作用解读
NVIC嵌套向量中断控制器ARM Cortex-M 内核的核心中断管理系统,负责所有中断的优先级分组、向量表管理和嵌套处理,确保中断高效响应。
SysTick系统滴答定时器提供系统时基(滴答),常用于操作系统心跳、精确延时、时间片调度,是大多数 RTOS 的基础定时器。
RCC复位和时钟控制统一管理芯片复位和所有外设的时钟使能、分频、倍频,是开启任何外设前必须配置的“总开关”。
GPIO通用IO口最基础的输入输出引脚,可配置为输入、输出、上拉、下拉、开漏等模式,用于控制 LED、按键等。
AFIO复用IO口STM32F1 系列特有,用于引脚功能重映射(Remap),让同一个引脚能切换不同外设功能。
EXTI外部中断外部引脚中断/事件控制器,支持上升沿、下降沿、双沿触发,可唤醒低功耗模式。
TIM定时器通用/高级定时器,支持定时、PWM 输出、输入捕获、编码器接口、互补输出等,是最常用的外设之一。
ADC模数转换器将外部模拟电压(0~3.3V)转换为数字值,支持多通道、扫描模式、DMA 传输,常用于采集传感器数据。
DMA直接内存访问外设与内存之间高速数据搬运(无需 CPU 参与),极大减轻 CPU 负担,常用在 ADC、SPI、USART 等高速传输场景。
USART同步/异步串口通信通用同步异步收发器(UART/USART),用于串口通信(如调试打印、GPS、蓝牙模块)。
I2CI2C通信两线制串行总线(SDA+SCL),用于连接传感器、EEPROM、OLED 等,支持多设备挂载。
SPISPI通信高速同步串行外围接口(全双工),常用于 Flash、LCD、SD 卡、传感器等高速通信。
CANCAN通信控制器局域网总线,工业/汽车领域标准总线,支持多机通信、抗干扰能力强。
USBUSB通信USB 设备控制器,支持 USB 全速设备模式(如虚拟串口、HID、MSC)。
RTC实时时钟独立实时时钟模块,可在主电源关闭时(VBAT 供电)继续计时日期和时间。
CRCCRC校验硬件循环冗余校验单元,快速计算数据包的 CRC 校验码,提升通信可靠性。
PWR电源控制管理芯片各种低功耗模式(睡眠、停机、待机),以及电源电压监测(PVD)。
BKP备份寄存器位于备份域的少量寄存器,在 VBAT 供电下数据不丢失,常用于保存关键参数。
IWDG独立看门狗使用独立 RC 振荡器工作的看门狗,程序必须定期“喂狗”,否则芯片自动复位(防死机)。
WWDG窗口看门狗使用主时钟的看门狗,必须在“时间窗口”内喂狗,比 IWDG 更严格。
DAC数模转换器将数字值转换为模拟电压输出,用于产生音频信号、波形等。
SDIOSD卡接口专用的 SD/SDIO 卡接口,支持 SD 卡、SDIO WiFi/蓝牙模块等。
FSMC可变静态存储控制器连接外部静态存储器(如 SRAM、NOR Flash、NAND Flash、LCD 屏),扩展存储和显示能力。
USB OTGUSB主机接口USB On-The-Go 控制器,支持 USB 主机、设备、OTG 模式(部分高性能 STM32 才有)。