论坛元老 
   
	- 积分
 - 8922
 
        - 金钱
 - 8922 
 
       - 注册时间
 - 2020-5-11
 
      - 在线时间
 - 4479 小时
 
 
 
 | 
 
 
发表于 2022-4-15 17:08:36
|
显示全部楼层
 
 
 
数据存入数组: 
w[0]=s>>8;//高字节 
w[1]=s;//低字节 
CRC当然得写个函数计算整个数组的CRC值啦,比如 
- //--------------------------------------------------
 
 - //CRC16计算
 
 - //nbyte为字节数
 
 - //多项式=X16+X15+X2+1
 
  
- //--------------------------------------------------
 
 - U16 crc16(U8 *p,U8 nbyte)   
 
 - {  
 
 -         U16 crc=0xffff;
 
 -         U8 i,d; 
 
 -         while(nbyte--)   
 
 -         {  
 
 -                 d=*(p++);
 
 -                 for(i=0x01;i;i<<=1)                
 
 -                 {      
 
 -                         if(crc&0x1){crc>>=1;crc^=0xA001;}
 
 -                         else crc>>=1;                        //数据同CRC最低位相异或
 
 -                         if(d&i)crc^=0xA001;                //数据都是低位在前
 
 -                 }                
 
 -         }
 
 -         return(crc);
 
 - }
 
  复制代码 |   
 
 
 
 |