您现在所在的是:

单片机论坛

回帖:0个,阅读:697 [上一页] [1] [下一页]
1065
ws_gk
文章数:40
年度积分:50
历史总积分:1065
注册时间:2006/5/19
发站内信
发表于:2007/6/29 11:31:00
#0楼
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是个什么值???
 
小弟再次 表示感谢!!!!!!!!!!!!!

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002