deine hex messase in einen CRC Rechner im Internet eingegegben ergibt das ergebnis 84e9 ! und nicht 4894
http://zorc.breitbandkatze.de/crc.htmldies ist quasi die referenzseite für die meisten CRC publikationen im internet.
die problematik dürfte aber am polynom liegen. CRC-CCITT mit polynom 1021 sagt noch lange nicht alles über die CRC berechnung aus.
wichtig sind startwert, (direkt oder indirekt), byteorder, msb oder lsb first, final XOR und auch noch die CRC bitfolge.
all dies muss richtig spezifiziert sein um zum richtigen ergebnis zu kommen.
Zu allem überdruss ist es üblich in der literatur das oberste bit vom polynom wie z.b. beim $1021 zu verschweigen. das 16. bit wird hier im polynom nicht angegeben weil es ja zwingend immer eins sein muss.
leider benötigte der OSCAT Baustein dieses Bit in der Angabe, das ist auch so im Manual dokumentiert.
wir haben nun mehrere Tage mit den CRC gearbeitet und dabei einen ganz neuen baustein geschrieben der hoffentlich auch besser handhabbar sein wird und nebenbei schneller rechnet als der alte.
nichts desto trotz wird immer die genaue recherche über die richtigen parameter des CRC nötig sein, in unserem manual findet sich eine beachtliche liste mit crc parametern die aber nur ein kleiner auszug aus den zahllosen verbreiteten CRC's ist.
zudem war unser alter baustein bei manchen polynomen fehlerhaft.
wir hoffen das der neue baustein nach tagelangen tests mit zahlreichen polynomen und einstellungen sicher funktioniert.
unser neuer baustein liefert das richtige ergebnis $4894 mit folgenden parametern:
Polynom 1021, Startwert 84CF nondirect (direct = FFFF) final XOR FFFF REV_IN und REV_OUT = False
der erste Wert $24 darf nicht nmit eingerechnet werden.
ein hinweis zu startwert: wir benutzen den startwert nondirect, es sind sowohl direct alks auch nondirect gebräuchlich, und beide können umgerechnet werden.
um jedoch rechenzeit im baustein zu sparen haben wir uns für nondirect entschieden.
siehe hierzu auch:
http://www.lammertbies.nl/forum/viewtopic.php?t=216gute informationen zu CRC finden sich auf der englischen wickipedia. die ist deutlich ausführlicher als die deutsche, zusätzlich gibt es in der englischen wicki auch noch eine umfangreiche seit über algorithmen und berechnungen.
sorry das wir dein problem nicht früher lösen konnten, aber die größte anzahl der oscat bausteine sind von zahlreichen anwender beigestellt, und werden auch von anwendern weiterentwickelt, es ist open source.
die idee ist das man nicht seinen eigenen schreibt sondern mithilft die oscat zu verbessern.