gpt4 book ai didi

checksum - 4 字节校验和,sum32 算法

转载 作者:行者123 更新时间:2023-12-04 02:25:15 27 4
gpt4 key购买 nike

我正在编写与 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

我在某处读到有一个 sum32 算法,但我找不到它的任何示例或如何对其进行编程。

谢谢!

最佳答案

哇,这真是个s***算法!如果其他人发现自己试图理解 Epson 糟糕的低级通信手册,则校验和的完成方式如下:

  • 校验和基数为 30 30 30 30
  • 将所有数据包的十六进制相加(例如,02+89+00+00+1C+80+80+1C+00+01+1C+09+0C+1C+03 = 214)
  • 然后将结果逐位分隔,如果它是一个字母,则将值加 1(例如 B2 将是 2|1|4)。
  • 从右到左按数字将其与校验和基数相加(这将是 30 32 31 34 的校验和)。

  • 注意:它运行良好,但出于某种原因,我上面发布的示例似乎不太匹配……它们都是打印机的响应,但在出现硬件问题和技术支持重新格式化之后不久,所以也许它得到了修复。

    我希望它可以帮助某个地方的人。

    关于checksum - 4 字节校验和,sum32 算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22393162/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com