标题: crc16程序 [打印本页]

作者: lgv100    时间: 2017-5-31 23:20
标题: crc16程序

void crc16_check(void)   //
   {
     unsigned   int  i,j=1,data3=0x10,data4=0x08,buffl=0xff,buffh=0xff;
     unsigned   int  data1,data2,da_buff,bit_count=64,num0=0x8;
      
         
    da_buff=rece_data[0];
        for(i=bit_count;i>0x00;i--)        //
      {
      
       data2=0;
       data1=0;
       if(buffh&0x80)
         data1=data1|0x01;
       if(num0==0)
         {
          da_buff=rece_data[j++];
          num0=0x08;
         }
        if(da_buff&0x80)
         {
          da_buff=da_buff<<1;
          num0--;
          data2=data2|0x01;
          }
         else
          {
           da_buff=da_buff<<1;
           num0--;
           data2=data2&0xfe;
          }
         data1=data1^data2;     //异或
         if(data1&0x01)
           {
            buffl=buffl^data3;  
            buffh=buffh^data4;
           }
           
           buffh=buffh<<1;
           if(buffl&0x80)
             buffh=0x01|buffh;
           buffl=buffl<<1;
           buffl=buffl|data1;
                   buffh=buffh&0x00ff;
                   buffl=buffl&0x00ff;
         }                  //校验完毕
     
  }




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1