| 方式 | 硬件版特点 | 软件版特点 | 接线 | 通信类型 | 核心优势 |
|---|---|---|---|---|---|
| UART 串口 | 芯片外设、异步全双工、不占 CPU | IO 模拟时序、灵活扩口 | TX/RX/GND | 异步点对点 | 通用简单、距离适中 |
| IIC | 硬件自动时序、高速低占用 | 任意 IO 模拟、移植无敌 | SDA+SCL | 同步半双工、一主多从 | 线少、挂载多传感器 |
| SPI | 硬件移位、极速全双工 | IO 逐位模拟、引脚自由 | SCK/MOSI/MISO/CS | 同步高速 | 速率最高、吞吐强 |
| CAN | 硬件控制器 + 差分、多主仲裁 | 仅理论模拟,工程弃用 | CAN_H/CAN_L | 差分总线组网 | 抗干扰极强、工业车载 |
| 蓝牙 | 无线透传 / BLE 低功耗 | 无软件模拟说法 | 无线无需接线 | 无线短距通信 | 免布线、手机直连 |
| USB | 硬件专用接口协议 | 无软件模拟 | D+/D-+ 电源 | 高速通用总线 | 即插即用、供电 + 传数据 |
一、逐个详细讲解
1. UART 串口(硬件 / 软件)
硬件 UART
- 芯片自带外设,硬件生成波特率、帧格式,支持中断收发
- 优点:稳定、距离远、不占用主控算力
- 缺点:硬件数量有限,只能一对一通信
软件 UART
- 普通 GPIO 延时模拟电平波形实现串口协议
- 优点:引脚随便用,无限扩展串口
- 缺点:占用 CPU、易被中断打乱、速率低、易丢包应用
- 硬件:GPS、蓝牙模块、WiFi 模块、串口屏、RS485、设备调试
- 软件:硬件串口用尽,临时接低速简易外设
2. IIC(硬件 / 软件)
硬件 IIC
- 专用引脚,硬件自动完成起始、停止、应答时序
- 优点:速度快、CPU 占用极小
- 缺点:引脚固定,STM32 极易出现总线死锁
软件 IIC
- 任意 2 个 IO 口代码模拟时序,兼容性拉满
- 优点:全单片机通用、调试简单、永不卡死
- 缺点:速率略低应用
- 绝大多数传感器:MPU6050、温湿度、光照、OLED 屏、EEPROM、触摸 IC
- 项目95% 优先用软件 IIC
3. SPI(硬件 / 软件)
硬件 SPI
- 硬件移位寄存器同步收发,全双工高速传输
- 优点:速率全场顶尖、稳定、几乎不耗内核
- 缺点:占用引脚多
软件 SPI
- IO 口模拟时钟与数据位,自由选引脚
- 优点:移植简单、不受硬件引脚限制
- 缺点:速度慢,大批量数据卡顿应用
- 硬件 SPI:W25Q 闪存、NRF24L01、LoRa、TFT 彩屏、高速 ADC
- 软件 SPI:引脚紧张、低速读取、学习调试
4. CAN 总线(硬件 / 软件)
硬件 CAN
- 内置 CAN 控制器 + 外接收发器,差分信号传输
- 特性:多主机通信、总线仲裁、错误重传、容错离线
- 抗干扰极强,适合强电磁环境
软件 CAN
- 纯 IO 模拟电平时序,无法实现仲裁、容错
- 缺点:稳定性极差、实时性差,商用项目一律不用 应用
- 汽车整车通信、工业自动化、机器人、大型设备组网、楼宇电控、远距离多节点通信
5. 蓝牙(经典蓝牙 / BLE 低功耗蓝牙)
无软硬件区分,属于无线透传模块,底层多用串口协议
- 经典蓝牙:速率高,适合音频、大数据
- BLE 蓝牙:功耗极低、待机久,适合穿戴设备、物联网特点 :免排线、手机 APP 直接连接、短距离无线应用
- 手机控制单片机、无线按键、穿戴设备、智能家居、无线数据上报、遥控设备
6. USB 通信
纯硬件标准协议,无软件模拟用法
- 分为:USB 虚拟串口、USB HID、USB 大容量存储、高速 USB
- 优势:自带 5V 供电 + 数据传输、即插即用、电脑免驱动(虚拟串口)
- 速率远高于串口,支持热插拔应用
- 单片机连电脑高速调试、上位机高速数据交互、U 盘读写、键盘鼠标外设、设备固件升级、便携式设备供电通信一体
二、核心维度排名
- 传输速度硬件 SPI > USB > 硬件 CAN > 硬件 UART > 硬件 IIC > 软件 SPI > 软件串口 > 软件 IIC > 蓝牙 BLE
- 抗干扰能力CAN >> UART > 蓝牙 > SPI > IIC > USB
- 传输距离CAN > 硬件串口 > 经典蓝牙 > BLE > IIC/SPI/USB
- 占用引脚IIC (2) < 串口 (2) < CAN (2) < USB (2) < SPI (4)
- 开发难度软件 IIC < 硬件串口 < 软件 SPI < 硬件 IIC < 硬件 SPI < 蓝牙 < CAN < USB
- 组网能力CAN > IIC > SPI > 蓝牙 > 串口 / USB(点对点)
三、项目直接选型口诀
- 小传感器、屏幕 → 软件 IIC
- 高速存储、无线射频 → 硬件 SPI
- 外接模块、调试打印 → 硬件 UART,不够补软件串口
- 汽车 / 工业强干扰、多设备组网 → 硬件 CAN
- 手机无线控制、低功耗物联网 → BLE 蓝牙
- 电脑高速联机、供电 + 通信一体、固件升级 → USB
- 引脚紧缺、跨芯片移植 → 全部优先软件模拟总线
- 量产稳定产品 → 优先全部硬件外设
四、六大通信优缺点综合表
| 通信方式 | 最大优点 | 最大缺点 | 最佳使用场景 |
|---|---|---|---|
| 硬件串口 | 最简单通用、模块最多 | 数量少、只能 1 对 1 | 外接各类无线、定位模块 |
| 软件串口 | 引脚不限、随便拓展 | 卡 CPU、不稳定 | 临时凑串口,不常用 |
| 硬件 IIC | 高速低占用 | 易死锁、引脚固定 | 高速量产固定设备 |
| 软件 IIC | 万能通用、最稳不死锁 | 速度一般 | 绝大多数传感器、小屏 |
| 硬件 SPI | 速度最快、全双工 | 引脚占用多 | 高速存储、射频、彩屏 |
| 软件 SPI | 移植无敌 | 慢、耗资源 | 引脚不足临时使用 |
| 硬件 CAN | 抗干扰最强、组网强 | 成本高、协议难 | 汽车、工业强干扰场景 |
| 蓝牙 | 无线免布线、连手机 | 距离近易干扰 | 移动端控制、低功耗物联网 |
| USB | 高速 + 供电一体 | 距离近、开发难 | 电脑直连、高速上位机 |