串口编程-通用串口通信协议
如需转载请标明出处
QQ技术交流群:129518033
前言
串口通信协议是指规定了数据包的内容,内容包含了起始位、主体数据、校验位及停止位,双方需要约定一致的数据包格式才能正常收发数据的有关规范。
本文将介绍一种通用的串口通信协议,用于提高串口通信的质量。
串口通信约定
波特率:9600
数据位:8
奇偶校验位:无
停止位:1
数据流控:无
帧格式说明
| 字节偏移 | 字段 | 长度(字节,byte) | 说明 |
|---|---|---|---|
| 0 | 帧头 | 2 | 固定不变 0xEB90 |
| 2 | 协议版本 | 1 | 用于协议升级扩展,初始版本为0x00 |
| 3 | 数据总长度 | 2 | 数据总长度N |
| 5 | 数据 | N | |
| 5 + N | 校验码 | 2 | CRC-16/MODBUS(0x18005) |
默认情况下,超过一个字节的数据均采用大端模式(big endian,高位字节在前,低位字节在后)。
默认情况下,超过一个字节的数据均采用大端模式(big endian,高位字节在前,低位字节在后)。
帧格式示例
EB90 00 0007 20211025000000 7F52
帧头:0xEB90
版本: 0x00
数据长度:0x0007
数据:0x20211025000000
校验和:0x7F52
License
License under CC BY-NC-ND 4.0: 署名-非商业使用-禁止演绎
如需转载请标明出处
QQ技术交流群:129518033
Reference:
- NULL