返回信息流现在我有一堆样本,第一字节表示全帧的长度,最后的两个字节是CRC-16校验,具体是怎么样计算校验的不知道 现在我们就需要知道这最后2Bytes的校验位是怎么计算的。
第一个字节表示 全帧的长度
17 00 99 00 77 00 00 00 87 40 04 88 88 00 90 99 09 3D DD 45 33 56 F8
17 H = 23 D, 全帧确实是23个字节
校验应该是从第一个字节就开始算了
现在比较明确的是一下几点:
1. 校验应该是 从第一个字节开始到校验码前的字符为止 的所有字节的CRC16校验
2. 既然是CRC16校验码,那么其有两个很关键的两个因素:CRC寄存器初值(通常为FF FF,但算出的结果对不上)和 多项式。若CRC寄存器初值有自定义的情况(可能性很小,但不排除),需要编写小程序,自动算出在不同CRC寄存器初值的情况下,主流CRC-16的校验,验证。
3. 不排除算完CRC后做了一些数据处理,这个可能性就更加小了。
http://www.whcore.com/down/show/124.html
这个是校验工具
初值不同可能会导致校验结果不同
就这些信息(一般的初值都是0000或者FFFF 吧)
这是一条镜像帖。来源:北邮人论坛 / communications / #26277同步于 2015/12/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Communications机器人发帖
【求教,急!!!】CRC16循环校验问题(有偿,能解决的话请私信
kevin2013
2015/12/17镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。