Lua中计算校验和

我没有Lua经验,有谁可以帮我计算以下数据的校验和呢?

55 aa 00 00 fe 00 00 00 00 00 01 00 00 01 51 13 01 00 XX (其中XX是1到16之间的数字,或者是0x00到0x0f之间的数字)

SUM_L和SUM_H组成了这个命令帧的校验和,它是下划线数据和0x5555的和。其计算公式如下。

SUM = 0x00 + 0x00 + 0xfe + 0x00 + 0x00 + 0x00 + 0x00 + 0x00 + 0x01 + 0x00 + 0x00 + 0x00 + 0x51 + 0x13 + 0x01 + 0x00 + XX + 0x5555, SUM = SUM_H<<8 + SUM_L(其中SUM_L代表SUM的低8位,而SUM_H则代表SUM的高8位)

原文链接 https://stackoverflow.com/questions/69614150

点赞
stackoverflow用户2858170
stackoverflow用户2858170
本地有一些字节 = {0x55, 0xaa, 0x00, 0x00, 0xfe} --等等

函数校验和(字节)
  本地和 = 0
  对于 _,v in ipairs(字节)做
    和 = 和 + v
  结束循环

  和 = 和 + 0x5555

  本地高和 = (和 & 0xFF << 8) >> 8
  本地低和 = 和 & 0xFF
  返回 高和, 低和
结束函数

本地高字节, 低字节 = 校验和(一些字节)
打印(字符串格式化("高字节:\t0x%02X\n低字节:\t0x%02X", 高字节, 低字节))
2021-10-18 14:50:08