本文主要描述嵌入式系统中应用之间通信协议的自定义实现,虽然已经存在一些成熟的通信协议格式,例如JSON、xml之类的,但是为了降低通讯信息带宽,提高通信效率,在嵌入式系统中通常使用自定义的通信协议,传输层则根据使用场景选择合适的通信载体,例如以太网TCP/IP或者uart之类的。

协议包格式定义:

字节索引 字段 长度 数据类型 描述
0 sof 1 uint8_t

固定帧头:0xFD

用于指示新数据包的开始

1 len 2 uint16_t

包长度

2 ver 1 uint8_t 协议版本
3 seq 1 uint8_t 数据包序列号
4 sysid 1 uint8_t 系统 ID (发送者)
5 compid 1 uint8_t 组件ID (发送者)
6 msgid 4 uint32_t 消息ID
7 payload n-byte uint8_t 消息数据
8 checksum 2 uint16_t 校验位

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐