Hi,
Zitat von
Muetze1:
Der Startwert für dein o.g. CRC16 Code ist $ffff. Die berechnete CRC muss dann noch invertiert werden (not), wie es die Routine auch machte (~). Dann solltest du die gleichen Summen erhalten.
Den Startwert (auch viele andere) hatte ich schon versucht, ich habe mit dem CRC_16 und dem CRC16CCITT experimentiert, mit und ohne Invertierung, leider ist nie diese summe rausgekommen.
Zitat:
Ansonsten der Code vom 1. Beitrag mal portiert:
Der Code wurde hier im Beitragseditor geschrieben - kann Fehler enthalten und muss nicht unbedingt funktionieren
vielen Dank für die portierung, diese lässt sich auch fehlerfrei kompilieren, erzeugt aber leider auch nicht den korrekten CRC
Ich habe hier ein paar beispiele, vielleicht hat noch jemand eine zündende Idee... habe irgendwie das gefühl, den Wald vor lauter Bäumen nicht zu sehen...
Also hier eine Liste mit Strings und den dazugehörigen CRCs. Hierbei kann ich sicher sein, dass diese korrekt sind.
Delphi-Quellcode:
----String ---------------------------------------- CRC
CHR($05) + CHR($02) + CHR($00) | CHR($5E) + CHR($9F)
CHR($01) + CHR($02) + CHR($00) + CHR($9F) | CHR($DE) + CHR($0D)
CHR($02) + CHR($02) + CHR($00) | CHR($9F) + CHR($2E)
Gruß
Ansgar