Hallo Leute
Habe da ein kleines Problem.
Ich möchte eine Long Variable in ein I2C EEprom schreiben und wieder lesen.
Leider mache ich da irgendwie eine Fehler..![]()
Habe das bis jetzt nur mit Word-Variablen gemacht.
Jetzt kann die Zahl aber auch negativ sein.
Die zerlegung habe ich wieder mit Overlay gemacht:
Code:Dim Koordinate As Long At $162 Dim Koordinate_teil1 As Byte At $162 Overlay Dim Koordinate_teil2 As Byte At $163 Overlay Dim Koordinate_teil3 As Byte At $164 Overlay Dim Koordinate_teil4 As Byte At $165 Overlay
Es kommt aber nur Müll beim Lesen raus.(EEprom)
Darum habe ich mir mal Werte ohne EEprom auf das LCD schreiben lassen:
Wert: 45 = 45 , 000, 000 , 000
Wert 294= 38 , 001, 000 , 000
Also Ok
Wert -13 = 243, 255 , 255 , 255
Wert -313= 199, 254 , 255 , 255
Wie kriege ich da wieder eine Minus-Zahl raus ??
Andere Frage:
Ins EEprom schreibe ich normal so:
Code:I2cstart 'Start I2cwbyte &B10100010 'Sende Slavadresse I2cwbyte High_adresse 'Sende Speicheradresse High I2cwbyte Low_adresse 'Sende Speicheradresse LOW I2cwbyte Wert 'Sende Wert I2cstop 'stop
Kann man das dann bei 4Byte hintereinander auch so schreiben: ?!
b.z.w. so lesen : ?Code:I2cstart 'Start I2cwbyte &B10100010 'Sende Slavadresse (Adresse für A0=EIN) I2cwbyte High_adresse 'Sende Speicheradresse High I2cwbyte Low_adresse 'Sende Speicheradresse LOW I2cwbyte Koordinate_teil1 'Sende Wert I2cwbyte Koordinate_teil2 'Sende Wert I2cwbyte Koordinate_teil3 'Sende Wert I2cwbyte Koordinate_teil4 'Sende Wert I2cstop 'stop
Bitte um HilfeCode:I2cstart 'Start I2cwbyte &B10100010 'Sende Slavadresse (Adresse für A0=EIN) I2cwbyte High_adresse 'Sende Speicheradresse High I2cwbyte Low_adresse 'Sende Speicheradresse Low I2cstart 'Start I2cwbyte &B10100011 'Sende Slavadresse +1 für Schreiben I2crbyte Koordinate_teil1 'Lese Adresse vom EEprom I2crbyte Koordinate_teil2 'Lese Adresse vom EEprom I2crbyte Koordinate_teil3 'Lese Adresse vom EEprom I2crbyte Koordinate_teil4 , Nack 'Lese Adresse vom EEprom I2cstop![]()
l.G. Roberto







Zitieren
Lesezeichen