DoIT Geschrieben April 1, 2020 at 11:19 Geschrieben April 1, 2020 at 11:19 Hallo, ich versuche jetzt schon länger eine CRC Prüfung der DS18B20 umzusetzen. Scheitere aber daran. Mein Code funktioniert zwar aber es ergeben sich meistens die Falschen CRC Werte. Hat das vielleicht schomal jemand umgesetzt für die DS18B20 Sensoren? Bzw. wie stellt ihr sicher das die richtigen Werte ankommen? Hier mal ein Codeausschnitt Achtung es wird die lib crc8 benötigt. hash = crc8.crc8() string = address # Onewire Modul Adresse in HEX stringoutput = '' for q in range(0, -12, -2): stringoutput = '/x' + string[-2:] + stringoutput string = string[:-2] print(stringoutput.encode('utf-8')) hash.update(stringoutput.encode('utf-8')) print(hash.hexdigest()) print(crc) Output wäre dann sowas: b'/x4/x16/x63/x9d/x1e/xff' 24 8c b'/x4/x16/x62/x4d/x71/xff' b5 58 b'/x4/x16/x62/x2b/x63/xff' 3e 3e Es werden 3 Sensoren geprüft jedoch nur beim letzten stimmt auch der CRC zusammen. Würde mich über jede Hilfe/ Tipps freuen :-) Zitieren
photron Geschrieben April 1, 2020 at 12:52 Geschrieben April 1, 2020 at 12:52 Versuchst du da die \x Escape Sequenz zu verwenden? Wenn ja, dann machst du das nicht richtig. Es muss \x und nicht /x heißen. Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.