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)