##### 1. USART(通用同步异步收发器)
**别称**:串口、UART(异步模式时)。
**核心特点**:**点对点、全双工、异步/同步**。
**怎么连**:只需 **TX(发)**、**RX(收)**、**GND(地)** 三根线。TX接对方的RX。
**怎么传**:没有时钟线,双方必须**提前约定好波特率**(如9600、115200)。数据以“帧”为单位,包含起始位、数据位、校验位、停止位。
**优缺点**:结构简单,线少,但**速度较慢**(通常≤1.5Mbps),且**只能一对一**。
**用在哪**:**调试打印**(printf)、GPS模块、蓝牙/WiFi模组通信、老旧设备对接。
**新手注意**:电平逻辑!TTL电平(0V/3.3V)和RS232电平(±12V)不通用,需用MAX3232芯片转换。
---
2. I2C(集成电路总线)
**核心特点**:**多主多从、半双工、两根线**。
**怎么连**:**SDA(数据)** 和 **SCL(时钟)**,两根线可挂载**最多128个**设备,通过**7位地址**区分。
**怎么传**:所有设备开漏输出,必须接**上拉电阻**。通信以**起始条件(SCL高时SDA下拉)**开始,以**停止条件**结束。每个字节后,接收方需回复 **ACK(应答)** 位。
**优缺点**:极其省引脚,支持一主多从。但速度较慢(标准100kbps,快速400kbps,高速3.4Mbps),且受总线电容限制,不宜长距离。
**用在哪**:**传感器**(MPU6050陀螺仪、温湿度)、EEPROM存储、OLED屏幕()集成上拉电阻、触摸芯片。
**新手注意**:**时钟拉伸**(从机拉低SCL请求等待)是常见卡死原因,初始化时务必检查超时处理。
---
3. SPI(串行外设接口)
**核心特点**:**一主多从、全双工、高速、四根线**。
**怎么连**:**SCK(时钟)**、**MOSI(主出从入)**、**MISO(主入从出)**、**NSS/CS(片选)**。每增加一个从机,就多一根CS线。
**怎么传**:由主机产生时钟,**同时**在MOSI和MISO线上收发数据,是真正的全双工。通过配置 **CPOL(时钟极性)** 和 **CPHA(时钟相位)** 有4种工作模式。
**优缺点**:速度极快(可达几十Mbps),传输稳定无协议开销。但**引脚多**,且**无应答机制**,主机只管发,不管从机是否收到。
**用在哪**:**SD卡**、**TFT彩屏**、高速ADC/DAC、Flash存储器(W25QXX)、射频芯片(NRF24L01)。
**新手注意**:**模式匹配**!主从机的CPOL/CPHA必须一致,否则读出的全是乱码。
---
4. CAN(控制器局域网)
**核心特点**:**多主竞争、差分信号、高可靠、远距离**。
**怎么连**:**CAN_H** 和 **CAN_L** 两根差分线,需接120Ω终端电阻。不依赖地址,靠 **ID优先级(越小越高)** 仲裁。
**怎么传**:数据以“帧”发送,包含ID、数据长度、0~8字节数据、CRC校验。若两个节点同时发,**非破坏性仲裁**:高优先级ID继续发,低优先级自动退出发送。
**优缺点**:抗干扰强(差分),通信距离可达1km(5kbps),支持多主机。但**协议复杂**,每帧最多只能带8字节数据。
**用在哪**:**汽车电子**(ECU、BMS电池管理)、**工业现场**(PLC通信、电梯控制)、机器人关节通信。
**新手注意**:必须用 **CAN收发器芯片**(如TJA1050)将单片机的TTL转成差分信号,不能直连。
---
5. USB(通用串行总线)
**核心特点**:**主从结构、热插拔、复杂协议栈**。
**怎么连**:**D+**、**D-** 差分线,加上VBUS(5V)和GND。设备通过D+或D-上的上拉电阻告知主机速度(低速1.5Mbps、全速12Mbps、高速480Mbps)。
**怎么传**:基于**令牌包-数据包-握手包**的事务传输。有四种传输类型:**控制**(枚举配置)、**批量**(U盘大文件)、**中断**(键盘鼠标,定期查询)、**等时**(音频视频,无重传)。
**优缺点**:通用性极强,供电+通信一体。但**协议极其复杂**,单片机需自带USB外设(如STM32F103)且需移植协议栈(如ST的USB库或CherryUSB)。
**用在哪**:**与PC通信**(虚拟串口)、**U盘读写**(HOST模式)、**鼠标键盘**(HID设备)、**USB烧录**(DFU)。
**新手注意**:不要尝试用IO模拟USB!必须使用带USB控制器的MCU。开发时务必注意 **D+/D- 的PCB走线阻抗(90Ω差分)**,否则高速模式会失败。
---
对比总结
| 协议 | 引脚数 | 速度 | 通信距离 | 总线拓扑 | 选型黄金法则 |
| --------- | --- | ---------- | --------- | ---- | ---------------------- |
| **USART** | 3 | 慢 (≤1.5M) | 短 (1-2m) | 点对点 | **调试和对接无线模块**,首选。 |
| **I2C** | 2 | 较慢 (≤3.4M) | 极短 (板内) | 多从机 | **挂载多个低速传感器**,省引脚。 |
| **SPI** | 4+ | 极快 (≤50M) | 极短 (板内) | 一主多从 | **需要高速吞吐**(屏幕/SD卡),必选。 |
| **CAN** | 2 | 中 (≤1M) | 极远 (≤1km) | 多主机 | **工业或汽车环境**,抗干扰要强。 |
| **USB** | 2 | 极快 (≤480M) | 短 (≤5m) | 主从 | **必须和PC或手机**交互数据。 |