Bekomme nur alles FF als ID und CRC Fehler
Bekomme nur alles FF als ID und CRC Fehler
Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint
Hallo,
ich bekomme bei meinem DS1820 folgendes Ergebnis ausgelesen:
Einlesen: 1 - 123
Einlesen: 2 - 1
Einlesen: 3 - 75
Einlesen: 4 - 70
Einlesen: 5 - 12
Einlesen: 6 - 255
Einlesen: 7 - 5
Einlesen: 8 - 16
Einlesen: 9 - 29
Die Zimmertemperatur beträgt etwar 22,5C.
Wenn ich das Programm nun nutze um die Temperatur in Bascom auszurechnen, teile ich
++Temp = 256 - Temp
Temp = 256 - 123 (=133)
++ Temp = Temp * 10
++Temp = 0 - Temp
So kann ich doch niemals auf die 22,5C kommen!
Ich habe schon einen zweiten Sensor angeschlossen. Auch er zweigt mit diese Werte
sicher das du die werte bekommst???
Welchen Sensor hast du denn dran den DS18S20 (Wert/2) oder den DS18B20 (Wert/16)
++Temp = 256 - Temp
Temp = 256 - 123 (=133)
++ Temp = Temp * 10
++Temp = 0 - Temp
Dies wird nur bei negativen Temps angewendet, abhängig vom TEMP_MSB = 0 positive Temps / 1 = negative Temps
und das steht sogar als Kommentar dahinter.
Der Wert für 22,5°C ist 45dez = 2D hex
Hallo Frank!
Siehst du eine Möglichkeit, wie das vom Tempsensor gewünschte Timing auch mit nur 1MHz unter Bascom eingehalten werden kann?
8MHz geht problemlos aber bei 1MHz kommen die von "oderlachs" erwähnten CRC Fehler und falsche ID zusammen.
Also eigentlich bin ich von aus gegangen das dies auch mit 1 Mhz noch klappt, habe es aber damals nur mit 8 Mhz getestet. Dazu kann ich dir leider heute nichts mehr sagen, liegt schon einige Jahre zurück, heute nutze ich meist eine Arduino Lib zur Abfrage.
Mit bestem Gruß
Frank
Admin Roboternetz.de - RN-Wissen.de - Elektronik-Blog
Überzeugter und begeisterter Elektroauto Fahrer seit 2018
Lesezeichen