CRC-16 Problem

0

Witam,

temat prawdopodobnie bardziej pasuje na forum elektrody, ale ponieważ na portalu widziałem poradnik CRC-16, postanowiłem spróbować tutaj.

Moim zadaniem jest połączyć się z sondą przez RS-485 i napisać program wysyłający do niej zapytania. Natrafiłem na problem związany z Sumami Kontrolnymi.

Mamy zapytanie wysyłane do sondy:
http://imageshack.us/photo/my-images/855/obraz1cf.png/

Sonda odpowiada na nie następująco:
http://imageshack.us/photo/my-images/707/obraz2w.png/

Problem, który się pojawił to generowanie kodu CRC. Odwiedziłem stronę http://depa.usst.edu.cn/chenjq/www2/SDesign/JavaScript/CRCcalculation.htm

W polu **CRC order ** wpisałem 16, w polu **CRC polynom ** wpisałem 687A. Wpisałem ramkę danych %FF3FF0100 i dostałem zupełnie inny kod. Nie wiem co źle robię, może inaczej rozumiem sposób działania tego algorytmu.

Pozdrawiam i z góry dziękuję za odpowiedzi,
Bartosz Król

1

CRC oblicza się według różnych wariantów, ale tutaj, jak by tego nie liczyć, to i tak nie wyjdzie taka suma. Musisz się upewnić, na jakiej początkowej reszcie suma jest obliczana (to może być 0000, ffff, a może jakaś konkretna wartość) albo wynik nie jest czymś xorowany. Kolejność bitów/bajtów może być też różna.

1

coś mi się wydaje, że źle liczysz CRC - nie z tych danych.
FF3FF0100 - tego używasz do policzenia CRC16
ff33464630313030 - sprawdź te dane

1 użytkowników online, w tym zalogowanych: 0, gości: 1