Hallo Günter,

das ist ungetestet, sollte aber so funktionieren:

Code:
$regfile = "m8def.dat"                                      ' the used chip
$crystal = 16000000                                         ' frequency used

Dim Data_array(4) As Byte
Dim Speed_left As Word At Data_array Overlay
Dim Speed_right As Word At Data_array + 2 Overlay

Dim Cnt As Byte
Dim Twi_control As Byte
Dim Twi_status As Byte
Dim I As Byte

Declare Sub Twi_init

Enable Interrupts
Call Twi_init

Speed_left = 12345
Speed_right = 54321

Do
    Twi_control = Twcr And &H80                             ' Bit7 von Controlregister auslesen

    If Twi_control = &H80 Then
        Twi_status = Twsr And &HF8                          ' Status ->Bit3 bis Bit7

        Select Case Twi_status

        Case &H60 :                                         'Wir sind gemeint
                Twcr = &B11000100                           ' TWINT löschen, erzeugt ACK

        Case &HA8:                                          'Master will Byte haben
                 I = 1
                 Twdr = Data_array(i)
                 Twcr = &B11000100

        Case &HB8:                                          'Master Will Weiteres Byte Haben
                 Incr I
                 Twdr = Data_array(i)
                 Twcr = &B11000100
        End Select
    End If

Loop


Sub Twi_init

    Twar = &H70
    Twcr = &B01000100
    Twsr = 0
    Twdr = &HFF
End Sub
Edit: jetzt mal den Master 4 Bytes abholen lassen...