打印

CRC初值要设置0xFFFF?我设成这样,算不对呀?

[复制链接]
4361|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
snakeemail|  楼主 | 2010-3-27 22:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 snakeemail 于 2010-3-29 20:17 编辑

为什么初值要设置0xFFFF ,我设成这样根本就不对呀?


查到一点资料,似乎取反或不取反都行,只要收发两边都一样就可以了
移位寄存器可以初始化成 1 而不是 0。同样,在用算法处理之前,消息的最初 n 个数据位要取反。这是因为未经修改的 CRC 无法区分只有起始 0 的个数不同的两条消息。而经过这样的取反过程,CRC 就可以正确地分辨这些消息了。

1 byte checksum        29
CRC-16        0x25B4
CRC-16 (Modbus)        0x2590
CRC-16 (Sick)        0x2195
CRC-CCITT (XModem)        0x5A76
CRC-CCITT (0xFFFF)        0x4B7A  是协议就要求取反的吗????
CRC-CCITT (0x1D0F)        0xABB8
CRC-CCITT (Kermit)        0x296A
CRC-DNP        0x3545
CRC-32        0x55404551

相关帖子

沙发
hyg1984| | 2010-3-28 13:10 | 只看该作者
用函数来执行好了,查表的,觉得有点烦,占用程序空间。

使用特权

评论回复
板凳
snakeemail|  楼主 | 2010-3-28 14:08 | 只看该作者
通讯的时候可是实时计算的呀.

使用特权

评论回复
地板
snakeemail|  楼主 | 2010-3-29 20:07 | 只看该作者
换问题,为什么初值要设置0xFFFF ,我设成这样根本就不对呀?

使用特权

评论回复
5
hotpower| | 2011-6-22 23:24 | 只看该作者
6
hotpower| | 2011-12-26 13:10 | 只看该作者
顶起来,掀起密码安全教育风暴~~~

使用特权

评论回复
7
tgwfcc| | 2016-3-10 15:18 | 只看该作者
hotpower 发表于 2011-6-22 23:24
http://www.hotpower.org/HotAjax/HotPower_HotAjax.html

版主的连接无法访问啊?

使用特权

评论回复
8
hotpower| | 2016-6-21 15:38 | 只看该作者
http://www.21ic.com/tools/HotWC3_V1.22.html

使用特权

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

本版积分规则

个人签名:提供500W线性 交流电源。0~300VAC,45~500Hz 提供10KW,0-330V直流电源,具体见http://blog.21ic.com/user1/3639/archives/2012/88528.html

547

主题

1910

帖子

8

粉丝