это табличный метод (CRC8) - для скорости. Вот обычный, но на CRC16
WORD CalcCRC(BYTE *pBuff, BYTE n) { unsigned char i,carry; WORD crc16=0xFFFF; while(n) { crc16 ^=*pBuff; for (i = 0; i < 8; i++) { carry = crc16 & 1; crc16 >>= 1; if (carry) crc16 ^= 0xA001; } n--; pBuff++; } return crc16; } вместо WORD пишите int. Опять же это на си.
Сообщение отредактировал arttab - Nov 17 2005, 07:33
--------------------
OrCAD, Altium,IAR, AVR....
|