Цитата(Nickolya_K @ Feb 2 2009, 20:23)

Application Note 27 от Dallas там есть расчет CRC-16
две таблицы по 256 байт и программа для расчета
Спасибо Nickolya_K.
А дай пожалуйста ссылочку на Application Note 27 от Dallas!
Цитата(_Pasha @ Feb 2 2009, 21:09)

1. Побыстрей - это сколько (в тактах, хоть примерно?)
2. Контрольную сумму городить не надо - действительно мучения.
http://www.eagleairaust.com.au/code/crc16.htm - гугл, простенько и со вкусом

Код
// Update the CRC for transmitted and received data using
// the CCITT 16bit algorithm (X^16 + X^12 + X^5 + 1).
unsigned char ser_data;
static unsigned int crc;
crc = (unsigned char)(crc >> 8) | (crc << 8);
crc ^= ser_data;
crc ^= (unsigned char)(crc & 0xff) >> 4;
crc ^= (crc << 8) << 4;
crc ^= ((crc & 0xff) << 4) << 1;
Спасибо Pasha.
Но не силен я в СИ !
Я тока понял что на входе "unsigned char"-байт на выходе "unsigned int"-слово тобиш CRC16, или нет!?
Помогите разжевать вот эту запись плиз :
crc = (unsigned char)(crc >> 8) | (crc << 8);