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: ?!



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
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

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
Bitte um Hilfe
l.G. Roberto