打印

谁来帮我分析一段crc校验码下。

[复制链接]
2069|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mingyuekd|  楼主 | 2009-9-15 22:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
unsigned int cal_crc(unsigned char *ptr, unsigned char len)
{
   unsigned  int  crc ;
   unsigned  char  da ;
   /* CRC 余式表 */
   unsigned int crc_ta[16]={   0x0000,0x1021,0x2042,0x3063,0x4084,0x50a5,0x60c6,0x70e7,
                               0x8108,0x9129,0xa14a,0xb16b,0xc18c,0xd1ad,0xe1ce,0xf1ef
                            };
   crc=0;
   while(len--!=0)
   {
   da=((unsigned char)(crc/256))/16; /* 暂存CRC 的高四位 */
   crc<<=4; /* CRC 右移4 位,相当于取CRC 的低12 位)*/
   crc^=crc_ta[da^(*ptr/16)]; /* CRC 的高4 位和本字节的前半字节相加后查表计算CRC,然后加上上一次CRC 的余数 */
   da=((unsigned char)(crc/256))/16; /* 暂存CRC 的高4 位 */
   crc<<=4; /* CRC 右移4 位, 相当于CRC 的低12 位) */
   crc^=crc_ta[da^(*ptr&0x0f)]; /* CRC 的高4 位和本字节的后半字节相加后查表计算CRC,然后再加上上一次CRC 的余数 */
   ptr++;
   }
   return(crc);
}
在msp430环境中,下载仿真没问题。但我在memory里面看crc的值。怎么没有,应该是两个字节crc值。没找到在上面地方。用鼠标点击到那看不到地址。也就看不了crc值。

相关帖子

沙发
hotpower| | 2009-10-30 22:44 | 只看该作者
这就是所谓的“CRC位域4表”:

CRC位域多表查表方法 2009/10/16 15:17:31

CRC16CCITT(1021)的16字表长查表程序 2009/10/18 17:28:03

校验及生成工具:http://www.hotc51.com/HotPower_HotWC3.html


使用特权

评论回复
板凳
空外之旅| | 2010-9-17 11:11 | 只看该作者
学习下,改天说不定要用

使用特权

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

本版积分规则

58

主题

151

帖子

0

粉丝