您现在所在的是:

串口通信

回帖:0个,阅读:577 [上一页] [1] [下一页]
1017
anvy178
文章数:33
年度积分:50
历史总积分:1017
注册时间:2008/10/16
发站内信
发表于:2011/4/6 11:46:34
#0楼
void CRCTest()
{
 unsigned short cRc_16=0;
 unsigned short i=138;
 cRc_16 = i<<8;
 for(j=8;j>0;j--)
     {
      if(cRc_16&0x8000)                
      cRc_16=(cRc_16<<=1)^0x1021    //## (1)##
      else
      cRc_16<<=1;                  
     }
 printf("%x\n",cRc_16);
}
就专门用一个数138测试一下这个程序 输出来的结果还真是对的 。 我想问一下在我标注(1)的这个语句为什么不是先跟0X1021异或再向前移一位的呢???
如果cRc_16这个数值的第一位是1的话  那这个位不是没有处理到吗?按照上面的程序的话。

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

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

31.2002