Ich kämpfe nun seit drei Tagen mit dem Lesen und Schreiben auf einen 24c64.

Bin nun soweit das ich ein Byte geziehlt schreiben und lesen kann, allerdings würde ich viel lieber ein Word geziehlt schreiben und lesen.

Mit den Prog kann ich auf Tastendruck ein Wert (Word) an den 24C64 senden,
allerdings beim lesen geht es nur mit Werten bis 255 (also Byte)

Was muss ich noch ändern?

Code:
$regfile = "m8def.dat"
$crystal = 8000000


Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portb.5 , Rs = Portb.4
Config Lcd = 16 * 2
Cursor Off


Config Scl = Portc.5                                        'PIN für I2C Bus
Config Sda = Portc.4
Config Pinc.3 = Input
Config Pinc.1 = Input
Config Portc.2 = Output
Config Portc.0 = Output

Portc.3 = 1                                                 'Pullup ein
Portc.1 = 1                                                 'Pullup aus

Dim X As Word
Dim A As Byte
Dim B As Byte
Dim Lesen As Word
Cls

Main:

Do

    X = X + 5
    A = 1
    B = 1
    If Pinc.3 = 0 Then
    Portc.2 = 1
    Gosub Eschreiben
    End If

    If Pinc.3 = 1 Then
    Portc.2 = 0
    End If

    If Pinc.1 = 0 Then
    Portc.0 = 1
    Gosub Elesen
    End If

    If Pinc.1 = 1 Then
    Portc.0 = 0
    End If

Loop

Eschreiben:                                                 '---- schreibe in EEprom ----

    I2cstart                                                'Start I2C
    I2cwbyte &HA0                                           'Sende Slave Adresse
    I2cwbyte A                                              'Sende Speicheradresse High
    I2cwbyte B                                              'Sende Speicheradresse LOw
    I2cwbyte X                                              'Sende Wert
    I2cstop                                                 'Stop I2C
    Waitms 10                                               'warte 10ms

    Locate 1 , 1
    Lcd "ins EE= " ; X ; "  "                               ' Ausgabe der geschriebenen Werte am LCD
    Waitms 500

    Return

Elesen:                                                     '--- lesen vom EEprom ----

    I2cstart                                                'Start I2C
    I2cwbyte &HA0                                           'sende Slave Adresse
    I2cwbyte A                                              'sende Speicheradresse High
    I2cwbyte B                                              'sende Speicheradresse Low

    I2cstart                                                'Start I2C
    I2cwbyte &HA1                                           'sende Slave Adresse +1 für Lesen
    I2crbyte Lesen , Nack                                   'lese Adresse vom EEprom
    I2cstop                                                 'Stop I2C                                                 'Stop I2C

    Locate 2 , 1
    Lcd "Lese EE= " ; Lesen ; "  "                          'Ausgabe der EEprom Werte
    Waitms 500

    Return

End