嵌入式系统中自定义通信协议的一种实现
·
本文主要描述嵌入式系统中应用之间通信协议的自定义实现,虽然已经存在一些成熟的通信协议格式,例如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 | 校验位 |
更多推荐
所有评论(0)