uart 和 modbus 是属于应用层的 ttl 和 rsr232 属于硬件层

纠正分层(OSI 简易三层,嵌入式通用)

1、物理层(硬件电平,你说的硬件层):TTL、RS232、RS485、CAN_H/CAN_L 差分

只规定:电压多少、几根线、电气特性,不规定数据格式。

2、数据链路层(帧规则):UART、CAN

  • UART:定义一帧 = 起始位 + 数据 + 校验 + 停止位、波特率(怎么组字节)
  • CAN:CAN 整套帧、ID 仲裁、CRC

UART ≠ 应用层!UART 在链路层

3、应用层(数据含义、指令):Modbus(RTU/TCP)、CANopen

UART 只管字节怎么发,Modbus 规定这堆字节啥意思:03 读寄存器、06 写单寄存器

组合实例

  1. TTL 电平 (物理) + UART (链路) + Modbus-RTU (应用) = 单片机 TTL 口跑 Modbus
  2. RS485 电平 (物理) + UART (链路) + Modbus-RTU (应用) = 工业 485-Modbus 总线

一句话速记

  • TTL/232:电压
  • UART/CAN:打包字节规则
  • Modbus:数据指令含义