BASCOM CRC8 mit VB.NET(2002) nachbilden
Hallo Leute,
ich Suche einen Code,
welcher dem in Bascom verfügbaren CRC8 befehl entspricht:
z.B.
Mit Bascom erhalte ich für die Zeichenkette (STRING) "19930000" den CRC8=211
Irgendwie finde ich keine für mich verständliche Information, wie Bascom diese Prüfsumme erstellt.
Erstmal stellt sich das Probelm wie Bascom aus dem String einen Wert erstellt.
Und dann habe ich keinen blassen schimmer vom Algorithmus des CRC8.
Ich möchte dies für Übertragunssicherheit (RS232) vom PC zum AVR nutzen um damit Fehleingaben/Übertragungsfehler zu unterbinden.
Kann mir jemand helfen?
Gruss
Darwin (meine Projekte sind auf meiner Pinnwand zu finden)
Ich habs jetzt per Zufall gefunden:
VB - CODE:
der Code war auf meiner mir bisher noch nicht bekannten Sub-Seite versteckt:Code:Function Docrc8(ByVal s As String) As Byte Dim j As Byte Dim k As Byte Dim crc8 As Byte Dim m As Byte Dim x As Byte crc8 = 0 For m = 1 To Len(s) x = Asc(Mid(s, m, 1)) For k = 0 To 7 j = 1 And (x Xor crc8) crc8 = Fix(crc8 / 2) And &HFF x = Fix(x / 2) And &HFF If j <> 0 Then crc8 = crc8 Xor &H8C End If Next k Next Docrc8 = crc8 End Function
http://avrhelp.mcselec.com/bascom-avr.html?CRC8
Die Variablen 'm' und 'x' waren nicht deklariert und ich habe diese(pauschal) als Byte deklariert. Kann sein, dass diese für längere Zeichenketten (Strings) entspr. andere Dimensionen (INT16, INT32, INT64) benötigen.
- Das geht mir meisten so...
erst Suche ich mir einen Wolf,
dann finde ich was, was ich nicht verstehe oder was meilenweit an dem vorbei geht was ich möchte,
dann schreibe ich aus lauter Verzweiflung einen Forum - Eintrag
und kurzdarauf finde ich dann doch was.
Schicksal?
Gruss
Darwin (meine Projekte sind auf meiner Pinnwand zu finden)
Lesezeichen