我需要反转 RS485 协议以提取一些值以供进一步使用。不幸的是,目前只有这几条消息可用。他们不断地重复。只有在特殊情况下才会出现更长的消息(>100 字节)。我认为必须在某处(K 列???)包含某种校验和,或者系统将如何检测发送失败?
我可以以静态方式为这些简单的消息实现可能的校验和,但对于“未知”的新消息,实时计算校验和会更容易。我尝试了一些在线校验和计算器,但没有任何成功。
关于这个协议有什么好主意吗?谢谢。
(H 给出实际数据长度) ABCDEFGHIJKL 02 00 01 01 01 8C 8C 8E CC 8C 95 03(原始HEX消息) 02 00 01 01 01 00 00 02 40 00 19 03(使用 XOR 8C 的十六进制) 使用已应用的 XOR 发送给 master 的 HEX 消息:(消息以 03 结尾) 02 00 01 01 01 00 00 02 40 00 19 03 02 00 02 06 00 00 00 05 00 00 00 00 00 5F 03 02 00 03 06 00 00 00 05 00 00 00 00 00 5F 03 发送给已应用 XOR 的从站的 HEX 消息:(消息以 03 03 结尾!) 02 03 00 06 00 00 00 07 00 00 40 00 00 00 00 1D 03 03 02 02 00 06 00 00 00 07 00 00 40 00 00 00 00 1D 03 03 这些是目前唯一可用的简单消息:-/ A=序言(不是唯一的字符) B=目的地 C=发件人 F=异或键 H=数据长度 K=????(也许是校验和???) L=消息结束(来自主端的消息为 3 3,来自从端的消息为 3)