打印
[51单片机]

checksum 如何计算?

[复制链接]
1387|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hbp135|  楼主 | 2013-11-29 14:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
EB 0B 51 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 4F 68 77 56 63 6C 35 68 32 63 3D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5D EE 55 02 20 EC

EB 0B 51 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 6D 2B 61 6A 70 42 48 45 61 30 3D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5D F9 35 02 4F EC

EB 0B 51 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 59 6D 70 76 52 6B 50 69 4B 67 6B 3D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1C 2D FE 1D C8 EC

以上有三组数据,已知EB是包头,EC是包尾,均为不变数据,倒数第二个数据为checksum,想请问各位大虾,checksum如何计算出来的。小弟在此先感谢了。

如果知道的可以留下QQ号码,歇息。

相关帖子

沙发
hbp135|  楼主 | 2013-11-29 14:40 | 只看该作者
感觉很复杂,对吧?

使用特权

评论回复
板凳
hbp135|  楼主 | 2013-11-29 14:41 | 只看该作者
可能我说明的不够清晰,第一组的 checksum 是倒数第二个数据 20,第二组的 checksum 是倒数第二个数据 4F,第三组的 checksum 是倒数第二个数据 C8

使用特权

评论回复
地板
hbp135|  楼主 | 2013-11-29 14:49 | 只看该作者
EB 0B 51 64 4F 68 77 56 63 6C 35 68 32 63 3D 5D EE 55 02 20 EC

EB 0B 51  64 6D 2B 61 6A 70 42 48 45 61 30 3D 5D F9 35 02 4F EC

EB 0B 51 59 6D 70 76 52 6B 50 69 4B 67 6B 3D 1C 2D FE 1D C8 EC

蓝色部分为不会变的数据,也就是包头包尾,为红色部分是 checksum,黑色部分为数据,这样子可能好看一点。

使用特权

评论回复
5
hbp135|  楼主 | 2013-11-29 15:52 | 只看该作者
别沉啊,大家都想不出来吗?

使用特权

评论回复
6
hbp135|  楼主 | 2013-11-29 16:06 | 只看该作者
已经用了 LRC  CRC  CRC16 等等的校验方式去试过了,都不对呢。

使用特权

评论回复
7
hbp135|  楼主 | 2013-11-29 17:23 | 只看该作者
** ^ AA = 8F
** ^ 51 = 20

这样子看更加简单,**为同一个数据,^是一个算法,求这个算法是什么,谢谢。

使用特权

评论回复
8
chenbb8| | 2013-11-29 17:59 | 只看该作者
hbp135 发表于 2013-11-29 17:23
** ^ AA = 8F
** ^ 51 = 20

你这不是C语法吧,^是(按位)异或

使用特权

评论回复
9
hbp135|  楼主 | 2013-11-30 15:09 | 只看该作者
谢谢各位,算法已经知道了,多谢!!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

8

帖子

0

粉丝