DoIT Posted April 1, 2020 at 11:19 AM Share Posted April 1, 2020 at 11:19 AM 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 :-) Quote Link to comment Share on other sites More sharing options...
photron Posted April 1, 2020 at 12:52 PM Share Posted April 1, 2020 at 12:52 PM 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. Quote Link to comment Share on other sites More sharing options...
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.