mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik CRC16 - Berechnung


Autor: Ingo B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich möchte den integrierten CRC16-Generator vom M16C verwenden. Soweit 
kein Problem.

Aber mir gelingt es nicht, die Checksumme selbst zu berechnen (z.B. mit 
einem anderen Controller oder PC).

Hat jemand eine Ahnung (bzw. Source) für die CRC16 Berechnung, die der 
M16C integriert hat?

Bis dann,
Ingo.

Autor: MooseChecker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
X^16+x^12+x^5+1

schau mal dort nach:

http://www.eagleairaust.com.au/code/crc16.htm


MooseC

Autor: Ingo B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

leider gibt das nicht den gewünschten Erfolg.

Beispiel:
Ich bekommen beim M16C bei diesem Code:
{
  crcd = 0x0000;    // init.
  crcin = 0x01;
}
... eine CRC-Summe von 0x1189.

Der PC berechnet 0x1021.

Irgendeine Idee?

Bis dann,
Ingo.

Autor: edi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

die beiden crc16 bytes sollten anfangs 0ffh sein.

ed

Autor: Ingo B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

wenn beide Berchnungungen gleich sind, sollte doch bei gleichem 
Ausgangswert, das gleiche herauskommen, oder?

Die 0x0000 stammten übrigends aus dem UserManual vom M16C, wo eine 
Beispielberechnung zu finden ist.

Hätte nicht gedacht, dass das so schwierig ist....

Bis dann,
Ingo.

Autor: ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
als ich zu meinen m16c per xmodem1k daten rüberjuckeln wollte
bin ich über folgende seite gestolpert. dort kann man sehr
schön rumprobieren.

http://rcswww.urz.tu-dresden.de/~sr21/crc.html

bei meinen problem mußte ich die eingangsbytes und die
end-crc spiegeln, nur dann hats gestimmt.

Autor: MooseChecker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, für eine MMC prüfe ich die CRC. Dafür muß jedes Byte flippen bevor 
die Daten in die M16-CRC Hardware geschrieben werden können. Leider dann 
auch das Word-Ergebnis. Die LSB/MSB sind bei der MMC im Bezug zur 
CRC@M16 gedreht. Es scheint wohl Unterschiede in den CRC16 zu geben. 
Vielleicht ist das auch bei Dir der Fall.

MooseC

Autor: Ingo B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

endlich klappt es.
Quellcode unter Codesammlung im Forum
http://www.mikrocontroller.net/forum-extern/read-4...

Bis dann,
Ingo.

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.