Forum: Mikrocontroller und Digitale Elektronik CRC Berechnung UART Protokoll


von Torben (Gast)


Lesenswert?

Hallo, ich hab hier ein kleines Verständnisproblem mit einem Uart 
Protokoll zur CRC Berechnung.


Wörtlich steht im Protokoll:

Calculate XOR from CMD to parameter-n. then lowest 1 byte is converted 
with the ASCII code.


Ich verstehe den ersten Teil, aber mit dem zweiten Teil kann ich nix 
anfangen. Hat jmd ein Tipp für mich?

Gruß,

Torben

von 2921 (Gast)


Lesenswert?

Das ist kein CRC sondern irgendwas, was unter Checksumme laeuft. Von Cmd 
bis Parameter-n alles XORen, dann das tiefste byte als ASCII setzten. 
Dumm nur, dass es zwei byte brauchen wuerde, als ASCII.

von Ampfing (Gast)


Lesenswert?

Hallo,

@2921: Wieso zwei Byte für ASCII? 1 Byte sind doch schon 8 Bit und das 
reicht.

@Torben: Wie 2921 schon schreibt, einfach das letztes Byte als 
ASCII-Zeichen interpretieren, schon hast Du Deine 'Checksum'.

Viele Grüße

von Torben (Gast)


Lesenswert?

Hallo, danke für die Antworten. Ok also keine CRC Berechnung, sondern 
eine Checksummenberechnung.

Jetzt nur zu meinem Verständnis:

CMD (30)
Para0 (20)
Para1 (25)
Para2 (55)

Das ergibt 60 und als ASCII 96. Hab ich das so richtig verstanden?

von Hans (Gast)


Lesenswert?

CRC und Checksum is doch das gleiche

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Hans wrote:

> CRC und Checksum is doch das gleiche

Natürlich nicht.  Eine CRC ist eine mögliche Prüfsumme, und zwar eine,
die mit Bedacht so gewählt worden ist, dass man bei ihr mit einer
hohen Wahrscheinlichkeit Übertragungsfehler erkennen kann.  Das simple
XOR ist zwar auch eine Prüfsumme, aber eben eine deutlich schlechtere,
da sich Mehrbitfehler mit größerer Wahrscheinlichkeit als bei einer
CRC gegenseitig aufheben können.

von Hans (Gast)


Lesenswert?

OKOK es ist wohl wie wenn ich sage ein Stift ist das gleiche wie ein 
Kugelschreiber.
Aber wie wir ja alle wissen bedeutet das englische Wort Checksum auf 
deutsch Prüfsumme und wie du schon sagtest:
>Eine CRC ist eine mögliche Prüfsumme
Genau! CRC = Checksum aber nicht Checksum = CRC

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

CRC = Cyclic Redundancy Checkbit

von Matthias M. (frost)


Lesenswert?

Jörg Wunsch wrote:
> CRC = Cyclic Redundancy Checkbit

Das bit am Ende muss aber weg. Ein CRC ist ja auch mehr als 1 Bit :-P

von Hans (Gast)


Lesenswert?


von Hans (Gast)


Lesenswert?

Nächstmal klappts mit der linkformatierung^^

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.