Re: eeprom.writelong - Was mache ich da falsch Kategorie: I²C-Bus (von André H. - 16.01.2004 13:56) | |
Als Antwort auf eeprom.writelong - Was mache ich da falsch von Franz - 16.01.2004 11:39
| |
Hallo Franz, Das liegt leider an den von mir so hei� geschätzten Compiler, an der Unterscheidung zwischen Integer und Long. Irgendwie war mir das damals nicht aufgefallen. Ersetzte im Modul eeprom.c2 folgende Zeilen in der Funktion readlong data = (i2c.read() shl 8) or i2c.read(); data = (data shl 16) or (i2c.read() shl 8) or i2c.readlast(); durch diese: data = i2c.read(); data = (((((data shl 8) or i2c.read()) shl 8) or i2c.read()) shl 8) or i2c.readlast(); Dann sollte es funzen. Das gleiche Problem gibt's nochmal bei readlongarray() . Ich werde in kürze ein Update von eeprom.c2 hochladen. Dann sind diese Bugs behoben. MfG André H. > Hallo, > > ich brauche da wiedereinmal Hilfe: > > ich schreibe z,B.: die Zahl 60 000 mit "eeprom.writelong(0,0,60000) in ein 24C65, > wenn ich dann das ganze mit "eeprom.readlong(0,0) auslese erhalte ich die Zahl: -25786... > > das ganze funktioniert aber mit 30 000 - warum also nicht mit 60000? > > Ich würde mich freuen, wenn mir da jemand weiterhelfen könnte... > > Danke schon mal im Voraus! > Gru�, > > Franz Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | |
Antwort schreiben Antworten: Re: eeprom.writelong - Was mache ich da falsch (von Franz - 16.01.2004 14:19) |