Jak samodzielnie obliczyć CRC16 CCITT z pomocą pomocniczej tabeli?

CRC16 CCITT





Poprzedni Następny
Wiadomość
Spis treści
From: "zygmunt" <musial_at_nospam_n-s.pl>
Subject: CRC16 CCITT
Date: Thu, 10 Oct 2002 17:31:07 +0200


CRC16 CCITT. Czy ktoś liczył ? Teoretycznie niby wiem, ale może jest jakiś
prosty sposób (z pomocniczą tabelą)?
Zygmunt





Poprzedni Następny
Wiadomość
Spis treści
From: "Marek Dzwonnik" <mdz_at_nospam_message.pl>
Subject: Re: CRC16 CCITT
Date: Thu, 10 Oct 2002 18:55:47 +0200


Użytkownik "zygmunt" <musial_at_nospam_n-s.pl> napisał w wiadomości
news:ao46g4$4j4$1_at_nospam_news.supermedia.pl...
CRC16 CCITT. Czy ktoś liczył ? Teoretycznie niby wiem, ale może jest
jakiś
prosty sposób (z pomocniczą tabelą)?

Z dokumentacji MODBUSa:

Na palcach (ale stąd wiadomo, że CRC w modbus-RTU jest liczone wg wielomianu
CCIT):
http://eagle-systems.net/dl_files/es001.pdf

Wg. stałej tablicy współczynników:
http://sp5xal.republika.pl/misc/modbus_crc16.c
Algorytm pochodzi z materiałów ze strony Modicon-a (obecnie Schneider
Electric).
Nie wystawilem pliku "redundan.h" ale nie ma w nim niczego istotnego
(prototypy).


MDz




Poprzedni Następny
Wiadomość
Spis treści
From: "GeePee" <geepee_at_nospam_o2.pl>
Subject: Re: CRC16 CCITT
Date: Sat, 12 Oct 2002 11:59:40 +0200



Użytkownik "zygmunt" <musial_at_nospam_n-s.pl> napisał w wiadomości
news:ao46g4$4j4$1_at_nospam_news.supermedia.pl...
CRC16 CCITT. Czy ktoś liczył ? Teoretycznie niby wiem, ale może jest
jakiś
prosty sposób (z pomocniczą tabelą)?
Zygmunt





używany szeroko, z inną wartością XOR-a na końcu jako X,Y-MODEM. Gdzieś mam
źródła na 51-kę w assemblerze, ale w C załatwia się to albo przez wolno
działającą jednolinijkową funkcję, albo poprzez procedury wykorzystujące
look-up table. Dostępne w dowolnych źródłach linuksa.