Soooo,

jetzt habe ich mich mal ins Datenblatt des ATMega8 eingegraben, aber noch nicht schlauer:

Ich will 4 Bytes übertragen, wo muß ich die 4-fach Schleife einbauen und welche Statuscodes sind abzufragen (1Byte = A8 2. und 3. B8 letztes C8 ??)

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

Dim Left_array(2) As Byte
Dim Speed_left As Word At Left_array Overlay
Dim Right_array(2) As Byte
Dim Speed_right As Word At Right_array Overlay

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

Declare Sub Twi_init

Enable Interrupts
Call Twi_init

Do
   Speed_left = 12345
   Speed_right = 54321
    ' schauen ob TWINT gesetzt ist
    Twi_control = Twcr And &H80                             ' Bit7 von Controlregister
    If Twi_control = &H80 Then
        Twi_status = Twsr And &HF8                          ' Status anfordern
        ' will der Master ein Byte haben
        If Twi_status = &HA8 Or Twi_status = &HB8 Then
            Twdr = Left_array(1)                            ' neue Daten ausgeben
        End If
        ' TWINT muss immer gelöscht werden, damit es auf dem Bus weiter geht
        Twcr = &B11000100                                   ' TWINT löschen, mit ACK
    End If


Loop


Sub Twi_init

    Twar = &H70
    Twcr = &B01000100
    Twsr = 0
    Twdr = &HFF
End Sub