Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

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)