Forum: Sonstige Fragen zu Delphi
Delphi
by brose,
1. Mär 2010
:wall:
ok, vor lauter Nullen und Einsen bin ich schon ganz kirre im Kopf ;)
Forum: Sonstige Fragen zu Delphi
Delphi
by brose,
1. Mär 2010
Hmm, also den letzten Teil versteh' ich net:
// Fold 32-bit sum to 16 bits
while (sum shr 16) > 0 do
sum := (sum and $ffff) + (sum shr 16);
result := not Word(sum);
end;
Forum: Sonstige Fragen zu Delphi
Delphi
by brose,
1. Mär 2010
Danke Euch beiden! Ich kanns im Moment leider nicht testen, werde aber berichten.
Die Daten liegen zunächst als STRING-Kette der Hexwerte (00-FF) vor.
Mit Pointern kenn' ich mich leider nicht so aus. Müsste ich die Werte dann in einen Array of Byte schreiben, also immer 32 Bit? Muss ich das ganze vierstellig durchführen, weil ja am Ende ein 32-Bit-Wert stehen muss?
Sorry für die...
Forum: Sonstige Fragen zu Delphi
Delphi
by brose,
11. Feb 2010
Die Doku sagt:
Element CRC16 (Prüfsumme)
Die Prüfsumme wird ab dem Element TC bis zum Satzende generiert. Vor der Generierung der Prüfsumme wird das Element CRC16 mit dem Wert 0000H gefüllt.
Das Polynom wird leider nicht genannt. Sonstige Hinweise gibts leider auch nicht.
Hier noch zwei weitere Beispiele:
Forum: Sonstige Fragen zu Delphi
Delphi
by brose,
11. Feb 2010
Hallo Leute.
Ich habe einen gegebenen Datenstrom, zu dem der CRC-16 berechnet wurde. Um den Datenstrom zu beantworten, muss ich in das Antwort-Telegramm ebenfalls den CRC-Wert einbetten.
Dummerweise bekomme ich es aber nicht hin, diesen CRC-16 korrekt zu berechnen.
Der komplette Datenstrom ist (Hex-Werte)
00 00 00 0E (1) 7D 98 B2 00 (2) CE 64 (3) 00 00 00 00 01 01 01 01