Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo Chris, > > > habe ein Problem mit dem Temperatursensor DS1631. > > > > Seit gestern funktioniert die Thermostat Funktion nicht mehr richtig! > > > > Wenn ich mit > > > > ds1631.setTh(1,2250,2350); > > > > versuche die Schaltschwellen bei 22,5 und 23,5 zu setzen, werden sie bei 22,0 und 23,0 gesetzt. > > > > Was kann das sein? ich meine ich habe nichts an dem Prog. geändert. Kann es sein, dass > > der Basustein defekt ist? Aber die Temparatur wird korrekt mit Nachkommastelle angezeigt. > > Wie oft hast Du in letzter Zeit das Thermostat gesetzt ? > Lt. Datenblatt hält zwar das interne EEProm des Sensors mehr als 50000 Schreibzyklen aus, > jedoch kann man dies sehr schnell erreichen, wenn man alle paar Minuten das Thermostst > aktualisiert. > Daß nurnoch die Werte vor dem Komma gespeichert werden, wäre ein Indiz, daß > die Speicherzelle des Low-Bytes defekt sein könnte. > Allerdings ist es auch wieder etwas unwahrscheinlich, daß sich beide Speicherzellen gleichzeitig > verabschieden. > > Versuch einmal die Werte mit einem einfachen Testprogramm zu setzen und wieder auszulesen: > <code>const ds_addr=0; > > thread main > { > lcdext.init(); > ds1631.int(ds_addr); > ds1631.setTh(ds_addr, 1825, 3450); > sleep 10; > lcdext.print("Th Low: "); > lcdext.zahl4n2(ds1631.getThL(ds_addr)); > lcdext.put(0xDF); > lcdext.put('C'); > lcdext.line(2); > lcdext.print("Th High: "); > lcdext.zahl4n2(ds1631.getThH(ds_addr)); > lcdext.put(0xDF); > lcdext.put('C'); > quit 1; > }</code> > > MfG André H.