PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Prüfsumme beim DS18S20



hardware.bas
15.09.2010, 14:35
Im RN-Wiki ist beschrieben, wie die Prüfsumme eines DS1820 in BASCOM ausgelesen werden kann. Leider bezieht sich dies nur auf das Auslesen der bauelemetespezifischen Daten. Viel wichtiger und zur Zeit für mich notwendig ist die Prüfsummenberechnung mit den 9 Byte der Temperaturausgabe. Hat das schon mal jemand gemacht oder weiss, wie man den Code umstrickt? Wäre super, vielen Dank und viele Grüße, Micha

for_ro
15.09.2010, 15:33
Einfach so:

Antwort_DS1820(1) = 1wread(9) '9 Byte in das das Array einlesen
If Antwort_DS1820(9) = CRC8(Antwort_DS1820(1),8) Then 'korrekt
...

hardware.bas
15.09.2010, 15:40
Da 1wire bei meiner Kabellänge nicht fünktioniert habe ich die 9 Bytes über ein selbstgebasteltes Protokoll übertragen. Nun wollte ich die Prüfsumme extra berechnen. Es hat durch Probieren geklappt. Damit ich den Treed nicht ganz umsonst aufgemacht habe..... meine Abwandlungen zum Artikel im RN-Wissen: crc8 bleibt crc8, die 7 und die 8 wird um 1 erhöht. VG Micha

linux_80
16.09.2010, 11:18
Hallo,

im Wiki steht das aber alles beschrieben, gleich nach dem Programmbeispiel für die Prüfsumme.

hardware.bas
16.09.2010, 13:45
Im Wiki wird es nur an Hand des Auslesens der bauelementespezifischen Daten beschrieben. Gebraucht wird Dies jedoch in erster Linie zum Auslesen der Temperaturbytes. Leider ist die Beschreibung für den Temperaturfall etwas sehr verbal. Aber wie schon geschrieben, ich habs durch Umbasteln hinbekommen, dabei war dieser Beitrag natürlich Grundlage. VG Micha