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?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich es herausgefunden. Ich musste CRC16-CCITT Kermit inmplementation. Ich denke, dass Ihre Dokumentation muss aktualisiert werden, da Sie mit einem anderen Polynom.
http://www.sanity-free.com/147/standard_crc16_and_crc16_kermit_implementation_in_csharp.html
Self-Learner