Forum: Mikrocontroller und Digitale Elektronik DS1820 temperatur - falsch oder richtig


von Thomas W. (gras78ix)


Angehängte Dateien:

Lesenswert?

Hallo Leute!
Mal wieder ein DS1820-Problem;ich lese das Scratchpad aus,
daraus ergeben sich folgende Werte:
Byte0: 0x10
Byte1: 0x00
Byte2: 0x25
Byte3: 0x23
Byte4: 0x7F
Byte5: 0x7F
Byte6: 0x02
Byte7: 0x08
Byte8: 0x24

1.Frage: sollten nicht Byte4 und 5 0xFF sein?
2.Frage: Byte0 ist die Temperatur, die man doch noch
durch zwei teilen muss (oder?) => 0x10 / 0x02 = 16 / 2 = 8

Es hat aber 16 C hier....ist da was faul an meinen Leseroutinen?

von Thomas W. (gras78ix)


Angehängte Dateien:

Lesenswert?

ok,hatte in ReadByte dsa oberste Bit rausgeschossen. Jetzt ists behoben
und ich lese anscheinend gute Werte aus,
nur die Temperatur stimmt nicht:
ich lese nur 0xAA.
Scratchpad:
0 LSB: 0xAA
1 MSB: 0x00
2 TH:  0x4B
3 TL:  0x46
4 --:  0xFF
5 --:  0xFF
6 CR:  0x0C
7 CC:  0x10
8 CRC: 0x87

hatte jemand aehnliche probleme?
das Lesen scheint richtig zu funktionieren,nur die Temperatur
ist wohl falsch.Wie berechnet man die aus den geg. Werten.
Ich dachte den binearen Wert einfach durch 2 teilen....oder?

von Benedikt (Gast)


Lesenswert?

0xAA -> Hast du vorher eine Messung gestartet ? Vermutlich nicht.

von Thomas W. (gras78ix)


Lesenswert?

Ich habs noch ueberprueft und ...doch ich schicke alles so wie
erwuenscht, in etwa (ohne delays)
reset->skipRom->convert-2 sec
warten->reset->skipRom->readScratchpad->readByte...(9mal)  fertig

nun bekomme ich als LSByte = 0x27 ....
wie errechne ich jetzt die tatsaechlich gemessene Temperatur ?

von Thomas W. (gras78ix)


Lesenswert?

im datasheet steht was von 9bit drin...heisst das,
wenn ich die temperatur auslese, muss ich 9bit (einmal fuer LSBYTE und
einmal fuer MSBYTE) statt 8bit lesen??

von Benedikt (Gast)


Lesenswert?

0x27 = dezimal 39
durch 2 ergibt 19,5°

Da du ein MSB und ein LSB hast, hast du eigentlich den Wert 0x0027 für
die Temperatur. Das MSB wird jedoch nur benötigt, wenn die Temperatur
außerhalb von 0-127,5° liegt.

von Thomas W. (gras78ix)


Lesenswert?

...also ist das gemeinte 9.bit nur das erste bit im MSByte,
oder?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.