реклама на сайте
подробности

 
 
> CRC-8, не сходиться
kolisnichenko_r
сообщение Feb 19 2010, 14:03
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 435
Регистрация: 12-09-07
Пользователь №: 30 482



Здравствуйте!
Начал работу со считывателем PR-01(по работе один один с DS1990A). Есть карточка. Считываю данные, номер совпадает с номером на карточке. Считаю CRC - не совпадает.
Вот функция:
Код
unsigned char Crc8(unsigned char *pcBlock, unsigned char len)
{   unsigned char crc=0xFF;
    unsigned char i;
    while (len--)
    {crc^=*pcBlock++;
     for(i=0;i<8;i++)
     crc=crc&0x80?(crc<<1)^0x31:crc<<1;
    }
    return crc;
}
Вот что я считал с карточки:
[code] mas[0]=0x01;
  mas[1]=0xdf;
  mas[2]=0xd8;
  mas[3]=0x58;
  mas[4]=0x00;
  mas[5]=0x00;
  mas[6]=0x00;
  mas[7]=0x79;//CRC

Использую функцию так:
Код
CRC8=Crc8(mas[0],7);

В результате CRC8=0х95
Что я делаю не так, подтолкните
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 04:19
Рейтинг@Mail.ru


Страница сгенерированна за 0.01472 секунд с 7
ELECTRONIX ©2004-2016