Forum: Object-Pascal / Delphi-Language
Delphi
by marabu,
2. Feb 2008
Hallo,
mit den CRC-Werten ist das so eine Sache - es gibt ein paar Freiheitsgrade, wie z.B. die Initialisierung des Schieberegisters und die Invertierung des Ergebnisses. Die Kenntnis des Polynoms reicht einfach nicht aus. Du hast wahrscheinlich den negierten Wert 0E35 erhalten.
So wirst du dann glücklich:
ShowMessage(IntToHex(ModbusCRC16(s, $FFFF), 4));
Freundliche Grüße
Forum: Object-Pascal / Delphi-Language
Delphi
by marabu,
2. Feb 2008
Herzlich willkommen in der Delphi-PRAXiS, mrhyde.
Ich würde den VB-Code nicht direkt übersetzen. Was du benötigst ist eine Funktion zur Polynomdivision und eine Funktion zur Wandlung von Hex-Code in Bytes.
Vielleicht interessiert dich dieser Thread: klick
Freundliche Grüße auch an drjekyll