CRC-CCITT(xmodem)

Hardware- und Elektronikbasteleien, Ansteuerung von Schnittstellen und Peripherie.
Fragen zu "Consumer"-Problemen kommen in Offtopic.
heitronic
Beiträge: 4
Registriert: 19.05.2010 19:47

CRC-CCITT(xmodem)

Beitrag von heitronic »

Suche einen für CRC-CCITT(xModem) habe ein gerät zum ansprechen das verlangt
• CRC-CCITT
• Polynomial = x^16 + x^12 + x^5 + 1
• Initial crc register = 0x0000

To calculate the CRC protected message packets for the ‘Reset device’ command…
TX : [ 40 ] [ 0 ] [ crc_lsb ] [ 1 ] [ crc_msb ]
RX : [ 1 ] [ 0 ] [ crc_lsb ] [ 0 ] [ crc_msb ]

ich kann die bytes nicht erstellen bzw. wenn ich einlese sind die bytes nicht richtig
Benutzeravatar
7x7
Beiträge: 591
Registriert: 14.08.2007 15:41
Computerausstattung: ganz toll
Wohnort: Lelbach

Re: CRC-CCITT(xmodem)

Beitrag von 7x7 »

und was willst du jetzt genau wissen?
- alles was ich hier im Forum sage/schreibe ist lediglich meine Meinung und keine Tatsachenbehauptung
- unkommentierter Quellcode = unqualifizierter Müll
heitronic
Beiträge: 4
Registriert: 19.05.2010 19:47

Re: CRC-CCITT(xmodem)

Beitrag von heitronic »

ich suche einen Code wie ich dieses berechnen kann

obige übertragung soll ausgerechnet lauten

TX crc = CRC( 40, 0, 1 ) = 3F46 hex
RX crc = CRC( 1, 0, 0 ) = 3730 hex

habe hier im forum einen code teil gefunden aber irgendwie funktioniert die berechnung nicht auch wenn ihn abändere




Code: Alles auswählen

#CRC16POLY = $1021

Procedure CRC16(*MEMStart.BYTE, L)
   Protected P, k, MyCRC = $0000
   ;
   While L
      P = *MEMStart\b & $FF
      For k = 1 To 8
         If (P ! MyCRC) & 1 = 1
            MyCRC >> 1
            MyCRC ! #CRC16POLY
            MyCRC & $FFFF
         Else
            MyCRC >> 1
         EndIf
         P >> 1
      Next
      *MEMStart + 1
      L - 1
   Wend

   ProcedureReturn MyCRC
EndProcedure
Edit by NicTheQuick: Code-Tags korrigiert
Benutzeravatar
7x7
Beiträge: 591
Registriert: 14.08.2007 15:41
Computerausstattung: ganz toll
Wohnort: Lelbach

Re: CRC-CCITT(xmodem)

Beitrag von 7x7 »

Schau mal hier:zyklische Redundanzprüfung.
Dein oben gefundener Code liefert vermutlich nur das gewüschte Ergebnis, wenn du die korrekten Nutzdaten übergibst.
- alles was ich hier im Forum sage/schreibe ist lediglich meine Meinung und keine Tatsachenbehauptung
- unkommentierter Quellcode = unqualifizierter Müll
Benutzeravatar
WPö
Moderator
Beiträge: 669
Registriert: 27.05.2008 12:44
Wohnort: Oberland
Kontaktdaten:

Re: CRC-CCITT(xmodem)

Beitrag von WPö »

Siehe auch http://www.maxim-ic.com/appnotes.cfm/an_pk/27. Ab da kannst Du Dich weiterhangeln.

Gruß - WPö
Ich glaube nur der Statistik, die ich selbst gefälscht habe!
Meine Netzpräsenz: WPö.de
PB5.31 auf LMDE und Pentium T7200 2,00GHz, 4GB DDR2, ATI X1400.
Antworten