- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 2 von 2

Thema: GELÖST: BASCOM CRC8 mit VB nachbilden

  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    59
    Beiträge
    1.305
    Blog-Einträge
    1

    GELÖST: BASCOM CRC8 mit VB nachbilden

    Anzeige

    Powerstation Test
    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)

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    59
    Beiträge
    1.305
    Blog-Einträge
    1
    Ich habs jetzt per Zufall gefunden:

    VB - CODE:
    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
    der Code war auf meiner mir bisher noch nicht bekannten Sub-Seite versteckt:
    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)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress