【STM32入门】常用通信外设大盘点(USART、I2C、SPI)
一、 为什么外设是 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。
更多推荐

所有评论(0)