Hallo,

den Fehler kann ich tatsächlich am MSB festmachen: Belieb viele Bytes mit MSB=0 => kein Problem.
Auch mit einen anderen ATMega ist der Effekt noch vorhanden

Ich habe nicht erwähnt (oder vernachlässigt) dass ich noch vor dem Ziel-Slave einen Buffer in Form PCA9515 hängen habe. Das Problem bleibt bestehen, das Aussehen ändert sich: Nach einem ACK geht der Slave auf SCK=1 (??), MSB=1 liegt an (=ungültiger Datenwechsel währen CLK=1 ist), beim nächsten Clock merkts der Slave offensichtlich und zieht den Clock runter.

Momentan kann ich den Fehler bei AVR auf AVR nachvollziehen, indem ich zwischen dem Senden des Commandworts und des ersten Datenbytes eine Delay von 1 ms einbaue => somit gleiches Fehlerbild wie beim PC-Interface, also wenn MSB=1 dann Fehler! Wenn das mal nicht kurios ist!

Der Mastercode sieht dann so aus:
Code:
$regfile = "M8def.dat"                                      ' the used chip
$crystal = 8e6                                              ' frequency used
$baud = 9600

Config Sda = Portc.4
Config Scl = Portc.5

Config Pind.4 = Input
Config Pind.5 = Input

$lib "i2c_twi.lbx"                                          ' Für Hardware TWI

Waitms 100

Config Twi = 100000                                         ' setzt die TWI-Register
 Twsr = 0                                                   ' Status reset
 Twbr = 220                                                 ' Bus Geschwindigkeit 400kHz @ 16MHz
Twcr = &B00000100                                           ' TWI Modul aktivieren, nur TWEN

Dim Nr As Byte                                              ' Servo-Nr
Dim Position As Byte                                        ' Position



Do

        I2cstart
        I2cwbyte &H64
        'I2cwbyte &H53                                       ' "S" Kennzeichen für Servo ansteuern
      If Pind.4 = 0 Then
        Waitms 1
      End If

      If Pind.5 = 0 Then
        I2cwbyte &HAA                                       'MSB =1
      Else
        I2cwbyte &H53                                       'MSB=0
      End If
        'I2cwbyte &HBB
        I2cstop


    Wait 1
Loop

End
Per Taste an PD4 und PD5 kann der Fehler provoziert werden