Forum: Mikrocontroller und Digitale Elektronik checksumme


von Erich (Gast)


Lesenswert?

Hallo.

Wenn ich die Checksumme bilden will.
z.b. beim empfangen von Daten, dann kann ich das in der UART.c machen?

Checksumme += RXBUF0;
(steht im Empfangs - Interrupt)


So bekomme ich dann die Checksumme oder?
allerdings ist das letzte Byte das ich empfange die Checksumme, die mit
gesendet wird, und die kann ich ja nicht zu meiner Checksumme die ich
beim empfang berechne dazu zählen.

Gruss Erich

von Peter D. (peda)


Lesenswert?

Es gibt nen Haufen Checksummen, gebräuchlich ist CRC16, CRC8, XOR.

Wichtig ist also, daß auf beiden Seiten das gleiche Verfahren und der
gleiche Startwert verwendet wird.

Üblich ist auch, daß die Checksumme über alles immer 0x00 ergibt.


Peter

von Erich (Gast)


Lesenswert?

Kann ich nicht die einzelnen Beyts zusammen addieren und erhalte so die
Checksumme?

(Hast du ein codebeispiel zu einer Checksummenberechnung?)

Danke.

von Tobi (Gast)


Lesenswert?


von Thomas Burkhardt (Gast)


Lesenswert?

Hi,

man kann natürlich die Bytes addieren, nur ist das ein beliebig
schlechtes Verfahren einer Prüfsumme. Suche im Forum nach CRC, auch im
Unterforum Codesammlung solltest du fündig werden...

von Erich (Gast)


Lesenswert?

Hallo.

Wenn ich für jedes Byte noch ein Paritybyte setze und die checksumme
bilde aus der addition der Byts, ist das nicht geug sicher?

Bei meiner anwendung ist es nicht schlimm wenn es hin und wider ein
oder mehrere Byte nicht richtig ankommen.

Gruss

von Tobi (Gast)


Lesenswert?

daran, wie viele bytes richtig ankommen kann die checksumme auch nichts
ändern. die frage ist nur ob bei einem bitfehle (oder auch mehr) sicher
erkannt wird, das es überhaupt ein fehler ist. d.h es sollte bei
möglichst wenigen zahlen das gleiche ergebnis rauskommen. und da seh
ich bei einfach addieren, ob nun mit oder ohne parity, den haken

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.