Hallo, bin fast am verzweifeln. Ich versuche die CRC Berechnung aus 47 Bit bei einem selbst bestimmten, festem Generalpolinom mit Bascom hinzubekommen. C Beispiele hab ich schon einige gefunden, aber mangels C-Kenntnissen bekomme ich die Übersetzung zum Bascom-Basic nicht wirklich hin. Bin für jeden Tip dankbar, Gruß Nordi
Danke, damit habe ich auch schon herumprobiert. Aber wie kann ich denn da mein Generatorpolynom mit einbinden? Im der Bascom Hilfe steht auch nichts weiter zu dem Thema. Hatte ich eben vergessen, das Generatorpolynom besteht aus 8 Bits.
Wenn ich das richtig verstanden haben, Teile ich meine Daten, Nutzdaten + Rest in die Arrays, nur was mach ich mit meinem Generatopolynom, irgendwie raff ich das Bascom Sample nicht. Wo wird das verwendet um zu guter letzt Rest 0 zu erhalten. M.E. beutzt Bascom ein eigenes Generatorpolynom. Oder verstehe ich das falsch? 101101110110......->40 bit Nutzdaten + 7 bit Rest 11010101 Generatorpolynom -------- 011000100 11010101 -------- 00010001 ...
die daten werden Xor verknüpft Function Docrc8(s As String) As Byte Dim j As Byte Dim k As Byte Dim crc8 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
Komme damit nicht klar, liegt vielleicht daran das es ein VB Sample ist? Auf Papier weiß ich ja was ich zu tun habe, ich bekomme es nur nicht ins Basic... Keiner nen praktischen Rat ohne Bascom-Mittel so etwas zu machen.
Ich verstehe dich nicht. Du bekommst es auf dem Papier manuell hin, aber in Basic schaffst du es nicht? Da geh dein Programm Schritt für Schritt durch und sch wo die Abweichung zu deiner Rechnung auf dem Papier ist, und schon hast du den Fehler. Nebenbei: Höchste Zeit C zu lernen.
Nebenbei: Höchste Zeit C zu lernen. Das trifft den Nagel auf den Kopf. Leider steht hinter dem Wort höchste noch das Wort Zeit, welche ich im Moment leider fast gar nicht habe. Ich werd´s mal weiterversuchen. Danke allen.
ich glaube ich habe es jetzt einigermaßen verstanden. das Polynom wird mit den daten "und" and verknüpft. dann werden die daten von rechts nach links verschoben shift. dann xor verknüft bis die ganzen daten durch sind,der rest verbleibt im schiebe register.
@MR ja, so soll´s aussehen, so klappt das auch mit´m Stift auf´m Papier, nur noch nicht so recht in Basic. Hab das genauso auch im Kopf, nur das darauf auf´nen AVR zu bekommen ist bei mir manchmal etwas schwer weil ich einfach zu kompliziert denke, wie ich meine auch in diesem Fall.
ich werde mal morgen wenn ich zeit habe versuchen eine funktion zu bauen stelle denn bas-code dann in das andre forum hier laufen nur C fetischisten rum Loool
Manchmal hat man nur Scheuklappen auf, hat sich erledigt, c wird doch nochmal etwas verschoben. Gruß Nordi
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.