len
байтов, указанной *msg
.(X в степени 16)+(X в степени 12)+(X в степени 5)+1
.int CRCode (char *msg, int len)
{
int j, crc = 0;
while ( len-- > 0 )
{
crc = crc ^ (int) *msg++ << 8;
for ( j=0; j < 8; j++ )
{
if(crc & 0x8000) crc = (crc << 1) ^ 0x1021;
else crc <<= 1;
}
}
return crc;
}