Guten Abend,
Dass A <= 250 sein muss habe ich durch einfaches trial and error rausgefunden, wenn A 251 wird kommt es zum Überlauf. Später im Programm geb ich das Ergebnis noch per UART aus, deshalb kann ich das sagen und nachvollziehen. Mit Lm75low lese ich die Nachkommastelle aus und speichere sie direkt ins EEPROM, die Umwandlung in den ",5" String erfolgt erst anschließend, nachdem ich die Daten wiederausgelesen hab, tut also nichts zur Sache. Die Anweisung A = A + 2 selbstverständlich deshalb, weil ich zwei Bytes schreibe.Code:(...) I2cstart I2cwbyte Lm75slaveread I2crbyte Lm75high , Ack I2crbyte Lm75low , Nack I2cstop If Lm75high > 127 Then Temperatur = Lm75high And 127 Temperatur = Not Temperatur Incr Temperatur Else Temperatur = Lm75high End If If A <= 250 Then I2cstart I2cwbyte Eepromw I2cwbyte A I2cwbyte Temperatur I2cwbyte Lm75low I2cstop End If A = A + 2 (...)
Wie gesagt, das ganze funktioniert einwandfrei, nur steig ich nicht hinter die Datenmenge. Eigentlich könnte mir das solange es funktioniert ja egal sein, nur macht es die ganze Sache nicht mehr berechenbar. Und bei einem späteren 256 Kbit Speicher ist ausprobieren langwierig und nicht gerade der Lebensdauer förderlich....
Grüße
Marc







Zitieren

Lesezeichen