请教个CRC问题!!!多谢!!!

[复制链接]
 楼主| ky_21ic 发表于 2007-6-29 11:12 | 显示全部楼层 |阅读模式
code unsigned char auchCRCHi[] = {0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81,....

code unsigned char auchCRCLo[] = {0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7,0x05, 0xC5, 0xC4,....

unsigned short int CRC16(unsigned char *puchMsg,unsigned short usDataLen)
  {unsigned char uchCRCHi;unsigned char uchCRCLo;unsigned char uIndex ; 
   uchCRCHi=0xFF ; /* CRC 的高字节初始化 */  **********
   uchCRCLo=0xFF ; /* CRC 的低字节初始化 */  **********
   while (usDataLen--) /* 完成整个报文缓冲区 */
     {uIndex = uchCRCLo^*puchMsg++ ; /* 计算 CRC */ ??????--1
     uchCRCLo = uchCRCHi^auchCRCHi[uIndex] ;    ???????--2
     uchCRCHi = auchCRCLo[uIndex] ;}        ???????--3
     return (uchCRCHi << 8 | uchCRCLo) ;}      ???????--4

我的问题:
 1.auchCRCHi[] ,auchCRCLo[] 中:对应的数值是最终的CRC值吗??如不是是什么值??
 2.*号处,初值为0可以吗??
 3.(主要的)问号处,能详细的解释下这四行吗??uIndex是个什么值???
   
小弟再次 表示感谢!!!!!!!!!!!!!
ybtthaxiq 发表于 2008-4-25 16:46 | 显示全部楼层

1

return返回的才是带CRC校验码的字符串
您需要登录后才可以回帖 登录 | 注册

本版积分规则

65

主题

211

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

65

主题

211

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部