Servus,
@Klebwax: Das der I2C stabilisiert werden muss ist klar. Wie gesagt, ich sehe momentan die Möglichkeit, das ganze Abzufangen und bei einer späteren Schaltung hat dies den Vorteil, dass ich direkt Log-Einträge erzeugen kann und somit das ganze noch Auswerten kann.
@Pyro-Mike: Hab ich auch schon gefunden. Bringt mir aber ganz andere Ergebnisse
Die CRC-8 Funktion in Bascom hat ja als Poly 8C. Ich hab mir über Bascom für 6 Bytes den CRC berechnen lassen und komme auf anderen Seiten nicht auf den gleichen CRC.
Probiere momentan auch mit dem crcmod Package rum, allerdings auch mit unterschiedlichen Ergebnissen.
Wenn ich das Internet richtig ausgelesen habe:
=> Bascom verwendet 8C, Poly is die x⁸ + x⁵ + x⁴ + 1 => Hexadezimal 8C, binär 10001100.
Selbst wenn ich mit der Hand rechne, komme ich laut CRC Vorgabe auf ein anderes Ergebnis:
Rechnung in Bascom:
Code:
Dim Daten(1) As Byte
Dim Crc As Byte
Daten(1) = 201
crc = Crc8(daten(1) , 1)
print crc
end
Ausgabe ist die 86 (Dezimal)
Das ganze von Hand berechnet:
Nachricht: 11001001
Generatorpolynom: 10001100
Anzuhängende Nullen: 7
Code:
110010010000000 : 10001100 = 11000011
10001100
--------
10001010000000
10001100
--------
00000110000000
10001100
--------
010011000
10001100
--------
00010100
Sprich, hier ist das Ergebnis hex 0x14, bzw dez 20
So langsam blicke ich gar nicht mehr durch
Sieht jemand meinen Fehler?
Gruß
Michael
Lesezeichen