Цитата(kolisnichenko_r @ Feb 19 2010, 22:03)

Заменил на 0х00, получил 0хF5.
Подсчитайте, пожалуйста по точно рабочему алгоритму. Может не правильно считано
Считано правильно,
А процедура подсчета у меня так реализована... (хотя фактически это тоже самое, только сдвиг в другую сторону, и соответственно полином перевернут)
Код
unsigned char Crc8(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&1?(crc>>1)^0x8C:crc>>1;
}
return crc;
}
и еще, может вызов неверный,
CRC8=Crc8(mas[0],7);
разве не так нужно?
CRC8=Crc8(&mas[0],7); или так: CRC8=Crc8(mas,7);
вкладываю мою программку калькулятор, сам писал для PC, правда на ассемблере...
если конечно кому-то нужно
Сообщение отредактировал UniSoft - Feb 19 2010, 16:37
Причина редактирования: Нарушение п.3.4 Правил форума.
Прикрепленные файлы
crc8sn.rar ( 5.75 килобайт )
Кол-во скачиваний: 34