Hm, ich versuche es nocheinmal anders zu erklären:

Folgendes will ich erreichen:
Mit dem vom RN (über Robotikhardware) vertriebenen I2C-PC Adapter und dem dazugehörigen i2c_beispiel Programm (ab jetzt P1 genannt) möchte ich z.b. einen Wert von 5 an das RNBFRA-Borad senden.
Dort soll auf dem MEGA32-Chip ein Programm laufen (ab jetzt P2 genannt) welches den Wert empfängt, und daraufhin einen Servo bis an den Anschalg dreht.
Das würde mir als Test erstmal ausreichen.

Jetzt zu meinem bisherigen Vorgehen:

Mein P2 sieht bisher so aus:
---- Schnipp ----
Code:
'###################################################
'Servo-Ansteuerung via I2C
'TEST
'###################################################


$regfile = "m32def.dat"

'#### Servo-Zeugs ####
Declare Sub Rnb_servob(byval Servonummer As Byte , Byval Position As Byte)
Dim Pos As Byte

'#### I2C-Zeugs ####
Const Writeport_adr = &H7E
Const Readport_adr = &H72

Dim T As Byte , X As Byte , Senddata As Byte
X = 0
Senddata = 5

Config Scl = Portc.0                                        
Config Sda = Portc.1

'#### Sonstiges-Zeugs ####
Dim I As Byte
Dim J As Byte
I = 1
J = 1

$crystal = 8000000                                        
$baud = 9600

Wiederhole:

   For I = 1 To 255
      'Servo 1 dreht sich zur Kontrolle staendig hin und her
      Pos = 1
      Call Rnb_servob(1 , Pos)
      Wait 1
      Pos = 255
      Call Rnb_servob(1 , Pos)
      Wait 1

      Print " "
      Print " "

      I2creceive Writeport_adr , X
      Print "I2c WRITEPORT gelesen, Wert:"
      Print X

      'Servo 2 soll bei X gleich 3 reagieren
      If X = 3 Then
         Pos = 127
         Call Rnb_servob(2 , Pos)
         Wait 1
         Pos = 20
         Call Rnb_servob(2 , Pos)
         Wait 1                  
         Pos = 235
         Call Rnb_servob(2 , Pos)
         Wait 1
         Pos = 127
         Call Rnb_servob(2 , Pos)
         Wait 1
      End If

      'Servo 3 soll bei X gleich 5 reagieren
      If X = 5 Then
         Pos = 255
         Call Rnb_servob(3 , Pos)
         Wait 50000
         Pos = 0
         Call Rnb_servob(3 , Pos)
         Wait 50000
         X = 0
      End If


   Next I

Goto Wiedehole


Sub Rnb_servob(byval Servonummer As Byte , Byval Position As Byte)
   Open "comd.7:9600,8,n,1" For Output As #2
   Print #2 , "#s" ; Chr(servonummer) ; Chr(position)
   Close #2
End Sub

End
---- Schnapp ----

Jetzt sende ich über P1 an die SlaveID 126 (=Hex7E) den Wert 5
Allerdings komme ich so nicht weiter.

Habe ich vielleicht einen fatalen Denkfehler im Programm, oder verstehe ich was am I2C-Bus nicht richtig?
Ich wäre für "DIE" Lösung natürlich dankbar

Vielen Dank im Voraus!