BVJ*_*BVJ 4 checksum low-level epson
我正在 Linux 设备上编写与 Epson tm-t88iv 热敏打印机的低级通信,该打印机仅接收十六进制包。我已阅读手册试图了解校验和是如何构建的,但我无法重新创建它。
手册上说校验和是 4 个字节,表示发送的包中所有数据的 2 个字节之和。
我目前有四个工作示例,是通过使用不同的程序监听 Windows 计算机上的端口而找到的。最后 4 个十六进制是校验和(根据手册,03 标记数据的结束并包含在校验和计算中)。
02 AC 00 01 1C 00 00 03 30 30 43 45
02 AC 00 00 1C 80 80 1C 00 00 1C 00 00 1C 03 30 32 32 31
02 AD 07 01 1C 00 00 1C 31 30 03 30 31 35 33
02 AD 00 00 1C 80 80 1C 00 00 1C 00 00 1C 03 30 32 32 32
Run Code Online (Sandbox Code Playgroud)
我在某处读到有一个 sum32 算法,但我找不到它的任何示例或如何对其进行编程。
哇,这是一个糟糕的算法!如果其他人发现自己试图理解爱普生糟糕的低级通信手册,那么校验和是这样完成的:
注意:它工作得很好,但由于某种原因,我上面发布的示例似乎不太匹配。它们都是打印机的响应,但不久后出现硬件问题,必须由技术支持人员重新格式化,所以也许它得到了修复。
我希望它能帮助某个地方的人。