Hallo Xandi11,

probier's mal so:

M32 - Master:
Code:
#include "RP6ControlLib.h" 
#include "RP6I2CmasterTWI.h" 

uint8_t buffer[2];

int main(void) 
{ 
	initRP6Control(); 
	initLCD(); 

	I2CTWI_initMaster(100); 

	uint8_t key; 
    
	while(true) 
	{ 

		showScreenLCD("Bitte Taster", "druecken"); 
    
		do 
		{ 
			key = getPressedKeyNumber(); 
		} 
		while (key == 0); 
    
		showScreenLCD("Daten werden", "uebertragen"); 
		mSleep(500); 

		buffer[0] = 0;
		buffer[1] = key;
		if (!I2CTWI_isBusy()) {
			I2CTWI_transmitBytes(10, buffer, 2);
		}

		showScreenLCD("...erfolgreich", ""); 
		mSleep(500); 
	} 
   
	return 0; 
}
Base - Slave:
Code:
#include"RP6RobotBaseLib.h" 
#include "RP6I2CslaveTWI.h" 
  
int main(void) 
{ 

	initRobotBase(); 

	powerON(); 

	setACSPwrOff(); 
    
	uint8_t i; 

	I2CTWI_initSlave(10); 
    
	while (true) 
	{    

		if(I2CTWI_writeRegisters[0] && !I2CTWI_writeBusy) 
		{ 
			// Register speichern: 
			i = I2CTWI_writeRegisters[0]; 
			I2CTWI_writeRegisters[0] = 0; 
       
			switch (i) 
			{ 
				case 1:
					setLEDs(0b000001); 
					mSleep(500); 
					setLEDs(0b000000); 
//					task_motionControl(); 
//              	move(30,FWD,DIST_MM(50),false); 
				break; 
				case 2:
					setLEDs(0b000011); 
					mSleep(500); 
					setLEDs(0b000000); 
//					task_motionControl(); 
//              	move(30,BWD,DIST_MM(50),false); 
				break; 
				case 3:
					setLEDs(0b000111); 
					mSleep(500); 
					setLEDs(0b000000); 
//					task_motionControl(); 
//              	rotate(30,LEFT,20,false); 
				break; 
				case 4:
					setLEDs(0b001111); 
					mSleep(500); 
					setLEDs(0b000000); 
//					task_motionControl(); 
//              	rotate(30,RIGHT,20,false); 
				break; 
				default:
					setLEDs(0b111111); 
					mSleep(500); 
					setLEDs(0b000000); 
			} 
		}
	} 
}
Viel Erfolg!

Gruß Dirk