[an error occurred while processing this directive]
А такой не пойдет? (долго юзаю...)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Гудвин 02 августа 2006 г. 17:43
В ответ на: Потерялся исходник расчета CRC16, минимум сдвигов, часть вычислялось табличным методом, может кто помнит? Подскажите плиз (-) отправлено Анатоль 02 августа 2006 г. 17:37


/*--------------------------------------------------------------------------
* Calculate a new CRC16 from the input data shorteger. Return the current
* CRC16 and also update the global variable CRC16.
*/
flash short oddparity[16] = { 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0 };

unsigned short docrc16(unsigned short data)
{
data = (data ^ (CRC16 & 0xff)) & 0xff;
CRC16 >>= 8;
if (oddparity[data & 0xf] ^ oddparity[data >> 4])
CRC16 ^= 0xc001;

data <<= 6;
CRC16 ^= data;
data <<= 1;
CRC16 ^= data;
return CRC16;
}


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание