一、 为什么外设是 STM32 的灵魂?
学习 STM32,本质上就是学习如何通过代码去控制芯片内部的各种外设(Peripherals)。不同于单纯的 C 语言逻辑,嵌入式开发需要让芯片与外界设备(传感器、显示屏、电机等)进行数据交互,而这些交互正是依赖不同的外设模块完成的。

二、 常用通信外设对比与解析
在嵌入式系统中,设备之间的通信至关重要。以下是三种最经典的全双工/半双工串行通信协议:
1. USART / UART(通用同步/异步收发器)
特点:异步通信(无需时钟线)、全双工、点对点。
物理引脚:TX(发送)、RX(接收)、GND(共地)。
典型应用:串口调试打印(printf 重定向)、蓝牙/Wi-Fi 模块通信(如 ESP8266)、GPS 模块。
核心优势:简单通用,几乎所有单片机都支持。

2. I2C 总线(集成电路总线)
特点:同步通信、半双工、主从架构、支持多设备(通过器件地址区分)。
物理引脚:SCL(时钟线)、SDA(数据线)+ 必须接上拉电阻。
典型应用:MPU6050(六轴传感器)、OLED 屏幕(I2C 版)、EEPROM(AT24C02)。
核心优势:占用引脚极少(只需两根线即可挂载数十个传感器)。

3. SPI 总线(串行外设接口)
特点:同步通信、全双工、高速传输、主从架构。
物理引脚:SCK(时钟)、MOSI(主出从入)、MISO(主入从出)、CS/SS(片选)。
典型应用:LCD 彩屏(如 ST7789)、SD 卡读写、W25Q128(Flash 存储)。
核心优势:传输速度极快(可达几十 MHz),适合数据量大的场景。

通信外设对比表
外设名称 通信类型 信号线数量 传输速度 典型应用场景
USART 异步/全双工 2 (TX, RX) 中等 调试打印、无线模块
I2C 同步/半双工 2 (SCL, SDA) 慢~中等 (100k-400kHz) 多传感器挂载、OLED
SPI 同步/全双工 4 (SCK, MOSI, MISO, CS) 极快 (数十MHz) 屏幕显示、高速 Flash

三、 总结

  • 需要打印调试信息或连蓝牙/Wi-Fi ,选 USART

  • 需要挂载多个低速传感器且省引脚 , 选 I2C

  • 需要驱动彩屏或高速读写大容量 Flash ,选 SPI

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐