www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CRC Berechnung UART Protokoll


Autor: Torben (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: 2921 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ampfing (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Torben (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CRC und Checksum is doch das gleiche

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CRC = Cyclic Redundancy Checkbit

Autor: Matthias M. (frost)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nächstmal klappts mit der linkformatierung^^

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.