Forum: PC-Programmierung CRC/ Prüfsummenverfahren


von Martin (Gast)


Lesenswert?

Hallo.

Ich suche nach dem CRC Verfahren für folgende Übertragung:

3F2FFF2030312F30312F30322030303A313320B2
3F2FFF2030312F30312F30322030303A303320B3
3F2FFF2030312F30312F30322030303A303220B4

Darin versteckt sich ASCII    01/01/02 00:00
B2 B3 B4 am Ende scheinen eine Art CRC zu sein. Ich finde aber das 
Polynom/ Verfahren nicht.
Hat jemand eine Idee? Danke.

Martin

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Klassische Prüfsumme bei der dann nach Addition null rauskommt ist es 
nicht?

von Hmmm (Gast)


Lesenswert?

Martin schrieb:
> 3F2FFF2030312F30312F30322030303A313320B2

Da steckt viel ASCII drin (Sp = Space):
1
3F 2F FF 20 30 31 2F 30 31 2F 30 32 20 30 30 3A 31 33 20 B2
2
         Sp 0  1  /  0  1  /  0  2  Sp 0  0  :  1  3  Sp

Martin schrieb:
> B2 B3 B4 am Ende scheinen eine Art CRC zu sein. Ich finde aber das
> Polynom/ Verfahren nicht.

Hast Du noch ein paar weitere Pakete? Könnte einfach eine fortlaufende 
Sequence Number sein.

von Hmmm (Gast)


Lesenswert?

Achja, die ersten beiden Zeichen (3F 2F) wären "? /", falls sie 
dazugehören.

von Georg (Gast)


Lesenswert?

Martin schrieb:
> B2 B3 B4 am Ende scheinen eine Art CRC zu sein.

Nein, dann müssten sie ja gleich sein, da sich sonst nichts 
unterscheidet.

Hmmm schrieb:
> Könnte einfach eine fortlaufende
> Sequence Number sein.

Wahrscheinlich. Ich vermute eher, die Zeichen nach dem Doppelpunkt sind 
die Sicherung. Dazu bräuchte man Pakete mit anderen Daten.

Georg

von Martin (Gast)


Lesenswert?

Hallo.

Nein es muss eine Art CRC geben denke ich. Die 3F sind die Adresse (an 
alle Displays) und 2FFF ein Befehl (schreibe erste Zeile Display) soweit 
ich das überblicke.

Ich habe auch noch das zB
3F2FFF532F5720202076322E303420202020207F
Hier wird  S/W   v2.04  aufs Display geschrieben in die erste Zeile.
Zweite Zeile wäre zB 4FFF

302FFF2A2A20202020202020202020202020208D
sind ** auf Display 0. 3F auf alle Displays. Auch hier tippe ich bei 8D 
auf eine Art CRC.

Martin

von Hmmm (Gast)


Lesenswert?

Georg schrieb:
> Nein, dann müssten sie ja gleich sein, da sich sonst nichts
> unterscheidet.

Dachte ich auch erst, aber hinten gibt es doch ein paar Unterschiede.

Ist aber tatsächlich eine einfache Prüfsumme, das gesamte Paket incl. 
Prüfsumme zusammenaddiert ergibt immer 0xff, wenn ich mich nicht 
verrechnet habe.

von Martin (Gast)


Lesenswert?

Hallo.

3F 2F FF 20 30 31 2F 30 31 2F 30 32 20 30 30 3A 31 33 20 B2

         Sp 0  1    0  1    0  2  Sp 0  0  :  1  3  Sp

Das ist übrigens Datum und Uhrzeit auf dem Display.:1.1.2002 00:13
Das Display hat 16 Zeichen.

Martin

von Hmmm (Gast)


Lesenswert?

Schneller Hack zum Durchrechnen:
1
(echo -n "obase=16;ibase=16;"; echo "3F2FFF2030312F30312F30322030303A303220B4" | sed "s/../+&/g" | cut -c 2-) | bc

Passt bei allen bisher genannten Paketen.

von Georg (Gast)


Lesenswert?

Hmmm schrieb:
> das gesamte Paket incl.
> Prüfsumme zusammenaddiert ergibt immer 0xff, wenn ich mich nicht
> verrechnet habe.

Stimmt. Ob das einfach so ist oder doch eine Art CRC kann man ohne 
weitere Pakete mit möglichst anderen Daten nicht feststellen. Dürfte ja 
zu einer anderen Uhrzeit kein Problem sein.

Georg

von Georg (Gast)


Lesenswert?

Georg schrieb:
> Ob das einfach so ist oder doch eine Art CRC

Nachtrag: dass sich die Prüfsumme um 1 unterscheidet wenn sich die Daten 
um 1 ändern spricht eigentlich nicht für CRC, das ist ja gerade der Sinn 
von CRC dass sich da grössere Unterschiede ergeben.

Summe über alles = FF ist eine gute Arbeitshypothese.

Georg

von Martin (Gast)


Lesenswert?

Hallo.

Das scheint es in der Tat zu sein. Ich werde mal noch mehr Daten 
mitschneiden und schauen ob das alles ist.
Danke.

Martin

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.