Решил применить на МК математический метод. Взял программу из http://ru.wikipedia.org/wiki/CRC
изменил начальное значение на 0 и не могу получить такое же значение,как у nesco.
unsigned char Crc8_S(unsigned char *pcBlock, unsigned char len)
{
unsigned char crc = 0;
unsigned char i;
while (len--)
{
crc ^= *pcBlock++;
for (i = 0; i < 8; i++)
crc = crc & 0x80 ? (crc << 1) ^ 0x31 : crc << 1;
}
return crc;
}
------------ Дoбавленo в 15.40:
Разобрался
unsigned char Crc8_S(unsigned char *pcBlock, unsigned char len)
{
unsigned char crc = 0;
unsigned char i;
while (len--)
{
crc ^= *pcBlock++;
for (i = 8; i > 0; i--)
{
crc = crc & 0x01 ? ((crc ^ 0x18)>> 1) | 0x80 : crc >>= 1;
}
}
return crc;
}