CRC校验码 代码
u16 CRC_16_acc(unsigned char *buf,u16 len,u16 acc)
{
u16 crc;
unsigned char c,i,f1;
crc = acc;
f1 = 1;
while(len != 0)
{
c =* buf;
if(c != 0xff)
{
f1 = 0;
}
for(i = 0;i < 8;i++)
{
if((crc ^ c) & 1)
{
crc = (crc>>1)^0xa001;
}
else
{
crc >>= 1;
}
c >>= 1;
}
len--;
buf++;
}
if(f1 == 1)
{
return 0;
}
return crc;
}
unsigned char Add_Crc_Calc(unsigned char* buf,unsigned char len)
{
unsigned i=0,ret0 =0;
for(i = 0;i < len;i++ )
{
ret0 += buf[i];
}
return ret0;
}
浙公网安备 33010602011771号