NetAssist 中文文档 下载 App

自动附加校验位 Checksum CRC16 CRC32

为什么需要校验位

在工业协议、车载协议等场景中,通信双方需要确认收到的数据没有损坏。校验位就是附带在数据包末尾的一个或几个字节,接收方收到后用同样的算法重新算一遍,对比结果是否一致。

NetAssist 支持的校验格式

格式说明典型应用
校验和(CheckSum)所有字节相加取低 8 位简单的累加校验
异或(XOR)所有字节逐个异或简单的异或校验
CRC88 位 CRC蓝牙、部分传感器
CRC1616 位 CRCModbus RTU、工业串口
CRC3232 位 CRC文件完整性校验
固定字节附加一个固定值帧尾标记

启用自动校验

在发送区的附加设置中勾选"自动附加校验位",然后从下拉菜单选择想要的校验格式。之后每次点击发送,NetAssist 会在你输入的数据后面自动算出校验值并追加。

自定义 CRC 参数

V4.3.26 起允许修改 CRC 的计算参数(多项式、初始值、结果异或值、输入反转、输出反转)。不同协议可能使用略有差异的 CRC 实现,自定义参数让 NetAssist 能兼容更多协议变体。

字节顺序(大小端)

CRC16/CRC32 的计算结果默认按小端(Little Endian)附加——低字节在前。在"附加设置"中可以切换为大端(Big Endian),以匹配目标协议的要求。

校验偏移与固定帧尾

V5.0.2 新增了校验偏移和固定帧尾选项:

这对调试自定义二进制协议特别有用——很多私有协议的格式是:协议头 + 主体 + 校验 + 帧尾。

实操示例:Modbus RTU 写线圈请求

Modbus RTU 的标准帧格式:从站地址 + 功能码 + 数据 + CRC16(低字节在前)。

假设要向从站地址 01 写线圈 0000 为 ON(FF00):

  1. 发送内容输入:01 05 00 00 FF 00
  2. 自动校验位选 CRC16(默认参数)
  3. 字节顺序选小端
  4. 点击发送

NetAssist 会自动算出 CRC16 值(计算结果是 8C 3A),实际发出:01 05 00 00 FF 00 3A 8C(小端附加)。