So berechnen Sie den CRC-16-Polynom x16 + x12 + x5 + 1

Ich versuche, die Schnittstelle mit etwas system und Ihre Daten, die Sie benötigen, um zu berechnen, CRC-16 für die serielle Kommunikation. Hier ein Auszug aus der Dokumentation

"16 bit CCITT-CRC der Nachricht unter Verwendung der standard-Polynom X16 +X12 +X5 +1. Seed-Werte sind immer 0 (null)"

Zunächst fand ich nur 2-3 samples von C# - code, wie es zu tun-und nichts, scheint mir der richtige Wert. Ich habe versucht diese http://www.sanity-free.com/133/crc_16_ccitt_in_csharp.html, aber ich bin nicht sicher, was Sie für den ersten Wert. Ich habe versucht, die Nullen und funktioniert immer noch nicht.

Daten Teste ich es mit:

0x00 0x09 0x10 0x01 0x01 0x7C 0xF4 0xB8 0x00, 

den CRC-Wert den ich bekomme, ist

0xF2 0x24, 

jedoch Ihr system sagt, es sollte sein

0xC0 0x2F

Mein Verständnis ist, dass Polynom x16 + x12 + x5 + 1 = 0x11021, aber selbst wenn ich diese in den code, es gibt mir immer noch falsche Antwort. Was mache ich falsch?

InformationsquelleAutor fenix2222 | 2013-03-06
Schreibe einen Kommentar