Um nochmal etwas konkreter zu werden, ich benutze dieses Beipsiel für des Controler auf dem Hauptboard:
Code:
#include "RP6RobotBaseLib.h"
#include "RP6I2CslaveTWI.h" // I2C Library Datei einbinden (!!!)
// ACHTUNG: Das muss auch im Makefile eingetragen werden (!!!)
#define CMD_SET_LEDS 3 // LED Kommando, das über den I2C Bus
// empfangen werden soll.

int main(void)
{
     initRobotBase();
     I2CTWI_initSlave(10); // TWI initialisieren und Adresse 10 einstellen
     powerON();
     while(true)
     {
          // irgendein Kommando empfangen und KEIN Schreibzugriff aktiv?
          if(I2CTWI_writeRegisters[0] && !I2CTWI_writeBusy)
          {
               // Register speichern:
               uint8_t cmd = I2CTWI_writeRegisters[0];
               I2CTWI_writeRegisters[0] = 0; // und zurücksetzen (!!!)
               uint8_t param = I2CTWI_writeRegisters[1]; // Parameter

               if(cmd == CMD_SET_LEDS) // LED Kommando empfangen?
               setLEDs(param); // LEDs mit dem Parameter setzen
          }

          if(!I2CTWI_readBusy) // Kein Lesezugriff aktiv?
          // Dann aktuellen LED Zustand ins Register 0 schreiben:
          I2CTWI_readRegisters[0] = statusLEDs.byte;
     }
     
return 0;
}