为什么想学 STM32
为什么学 STM32 1
在此之前我完全不知道 STM32 是什么,只是在 X 上刷到了很多硬件的分享帖子。同时感觉只会写软件太局限了,接触点硬件也很不错。于是在朋友的推荐下买了 STM32。在购买的时候遇到了一个有趣的事情,由于我是在咸鱼买的二手 STM32 套件,刚好是江协的,价格刚好是 32, 拿到货之后很新,就拆了几个,但 STM32 没有拆,还是那个灰色的透明塑封包着的。
而且这个包装特别自信,二维码就是 STM32 入门套件,一扫就跳到 bing,第一个就是江协的 CSDN,然后官网直接跳转到视频,视频课程还有百度网盘的下载链接(很 low,为什么不做成在线的文档,一种很老的气息扑面而来)而且还有 2475.4万 的播放量。这说明这个行业很卷,很多人。
拿到手之后,我看到了 STM32 的芯片,其他的大差不差。我比较好奇这些丝印具体代表什么,于是整理了一个对照表:
| 标记 | 对应含义 | 补充说明 |
|---|---|---|
| ST | STMicroelectronics(意法半导体)厂牌标识 | 表示芯片品牌/厂商来源。 |
| 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、蓝牙模块)。 |
| I2C | I2C通信 | 两线制串行总线(SDA+SCL),用于连接传感器、EEPROM、OLED 等,支持多设备挂载。 |
| SPI | SPI通信 | 高速同步串行外围接口(全双工),常用于 Flash、LCD、SD 卡、传感器等高速通信。 |
| CAN | CAN通信 | 控制器局域网总线,工业/汽车领域标准总线,支持多机通信、抗干扰能力强。 |
| USB | USB通信 | USB 设备控制器,支持 USB 全速设备模式(如虚拟串口、HID、MSC)。 |
| RTC | 实时时钟 | 独立实时时钟模块,可在主电源关闭时(VBAT 供电)继续计时日期和时间。 |
| CRC | CRC校验 | 硬件循环冗余校验单元,快速计算数据包的 CRC 校验码,提升通信可靠性。 |
| PWR | 电源控制 | 管理芯片各种低功耗模式(睡眠、停机、待机),以及电源电压监测(PVD)。 |
| BKP | 备份寄存器 | 位于备份域的少量寄存器,在 VBAT 供电下数据不丢失,常用于保存关键参数。 |
| IWDG | 独立看门狗 | 使用独立 RC 振荡器工作的看门狗,程序必须定期“喂狗”,否则芯片自动复位(防死机)。 |
| WWDG | 窗口看门狗 | 使用主时钟的看门狗,必须在“时间窗口”内喂狗,比 IWDG 更严格。 |
| DAC | 数模转换器 | 将数字值转换为模拟电压输出,用于产生音频信号、波形等。 |
| SDIO | SD卡接口 | 专用的 SD/SDIO 卡接口,支持 SD 卡、SDIO WiFi/蓝牙模块等。 |
| FSMC | 可变静态存储控制器 | 连接外部静态存储器(如 SRAM、NOR Flash、NAND Flash、LCD 屏),扩展存储和显示能力。 |
| USB OTG | USB主机接口 | USB On-The-Go 控制器,支持 USB 主机、设备、OTG 模式(部分高性能 STM32 才有)。 |