外设 | 特点 | 通信方式 | 适用场景 | 选型口诀 |
---|---|---|---|---|
UART | 简单!两根线就能通信 全双工(收发同时) 波特率自由配(9600~115200常见) |
异步串行 TX发 + RX收 无需时钟线 靠起始/停止位同步 |
传感器读数 PC调试输出 模块固件升级 |
❤️ 要简单,选UART! |
SPI | 速度王者(50MHz+) 全双工+同步 需要4根线(MOSI/MISO/SCK/CS) |
同步串行 主设备发时钟SCK MOSI发数据,MISO收数据 CS片选控制多设备 |
高速Flash/SD卡 OLED屏驱动 ADC/DAC芯片 |
拼速度,上SPI! |
I²C | 省线神器(2根线!) 半双工(不能同时收发) 支持多主多从 地址寻址 |
同步串行 SCL时钟 + SDA数据 7/10位设备地址 开漏输出需上拉电阻 |
板载传感器 EEPROM存储 RTC时钟芯片 |
省引脚,用I²C! |
CAN | 抗干扰战神(差分信号) 多设备总线通信 自带错误检测+重发 |
差分总线 CAN_H + CAN_L双绞线 非破坏仲裁(优先级机制) 广播+过滤接收 |
汽车ECU通信 工业PLC控制 机器人系统 |
️ 抗干扰,CAN强! |
USB | 高速(480Mbps!) 支持热插拔 协议栈复杂(需库支持) |
主从架构 Host(主)/Device(从) 差分信号D+/D- 支持OTG主从切换 |
设备固件升级 HID外设(键鼠) 高速数据采集 |
⚡ 要高速,USB冲! |
BLE | 超低功耗(电池扛1年+) 支持Mesh组网 手机直连超方便 |
2.4G无线 GAP(广播/连接) GATT(服务/特征值) 自适应跳频防干扰 |
智能手环 蓝牙温控器 物联网传感器 |
低功耗,BLE稳! |
I²C地址冲突:
→ 同一总线上挂2个相同地址传感器? 硬件改地址或换I²C交换机!
SPI时钟干扰:
→ SCK线过长?加磁珠滤波或缩短走线,否则数据错乱到你怀疑人生!
CAN总线终端电阻:
→ 120Ω终端电阻必须加在总线两端!不加?数据帧反射全乱套!
UART波特率偏差:
→ 晶振误差±5%?通信直接失败!选自动波特率检测或换高精度晶振~
graph LR
A[通信需求] --> B{速度要求?}
B -->|超高速| C[SPI/USB]
B -->|中低速| D{引脚数量?}
D -->|紧张(2根)| E[I²C/UART]
D -->|充足(4根+)| F[SPI]
A --> G{抗干扰?}
G -->|强| H[CAN]
G -->|弱| I[其他]
A --> J{要无线?}
J -->|是| K[BLE/Wi-Fi]
「智能家居温控器」怎么选?
关注我分享更多知识