重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、在用C语言编写CRC校验码的实现程序时我们应该注意,生成多项式 对应的十六进制数为0x18005,由于CRC寄存器左移过程中,移出的最高位为1时与 相异或,所以与16bit的CRC寄存器对应的生成多项式的十六进制数可用0x8005表示。
10年积累的网站设计制作、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有东洲免费网站建设让你可以放心的选择与我们合作。
2、你就是想要CRC8-CCITT的代码,这个到处都是。http:// 我一直有CRC16,没试过这个,但应该差不多。
3、你要分析生成多项式!你用的这个别人的程序是的生成多项式是 CRC-ITU,而可能你用的那个协议的是CRC16。生成多项式不同,得出来的校验码也会不同的。不能乱套的。
4、e.数据指针加1,如果数据没有全部处理完,则重复步骤b (数据包括CRC的两个字节)。f.寄存器组的值是否等于“Magic Value”(0xF0B8),若相等则通过,否则失败。
5、楼主的程序,把变量,都设定在 xdata 空间。
1、在用C语言编写CRC校验码的实现程序时我们应该注意,生成多项式 对应的十六进制数为0x18005,由于CRC寄存器左移过程中,移出的最高位为1时与 相异或,所以与16bit的CRC寄存器对应的生成多项式的十六进制数可用0x8005表示。
2、按位计算CRC采用CRC-CCITT多项式,多项式为0x11021,C语言编程时,参与计算为0x1021。
3、楼主程序中调用函数cal_crc()的方式不正确。函数cal_crc()用于计算输入串的校验码,因此函数输入参数包含输入串及该串的长度。
1、按位计算CRC采用CRC-CCITT多项式,多项式为0x11021,C语言编程时,参与计算为0x1021。
2、while(len--!=0)这句的len的值循环一次就减少1,先执行len!=0,再执行len--。当len为0时退出循环。for(i=0x80;i!=0;i/=2)0x80是十六进制数,也即128 当i!=0时,执行循环体,然后i=i/2,即i值减半。
3、你就是想要CRC8-CCITT的代码,这个到处都是。http:// 我一直有CRC16,没试过这个,但应该差不多。
4、楼主程序中调用函数cal_crc()的方式不正确。函数cal_crc()用于计算输入串的校验码,因此函数输入参数包含输入串及该串的长度。