|
#define POLY8 (0x8c)//x^8+x^5+x^4+x^0 position bits are mirrored
// because register is shifted right
unsigned char partdowcrc(unsigned int oldcrc,unsigned char val)
{
register char i;
oldcrc ^= val;
for (i=0;i<8;i++)
{
if ((oldcrc &1 )!=0)oldcrc ^= (POLY8 << 1);
oldcrc >>=1;
}
return oldcrc;
}
E-mail: info@telesys.ru