Um schnell mal in der Ansteuerung Fortschritte zu machen habe ich mir gedacht den Servoarm über IR zu bedienen.

Das ist mein Code:
Code:
/* 

 * ****************************************************************************

 * RP6 ROBOT SYSTEM - Base

 * ****************************************************************************

Dieses Prorgamm wird gebaut um mienen  Servoarm mit Hilfe einer IR-vernbedienung zu bedienen. 
 *************************************************

 */




#include "RP6RobotBaseLib.h" 


uint8_t  i, pause, servo_stellzeit, servo_delay;


//#define RC_EURO_SKY

#define RC_PROMO8




#ifdef RC_PROMO8		// RC Type:  Conrad - Promo8			

	#define RC5_KEY_LEFT 				21		

	#define RC5_KEY_RIGHT 				22		

#endif





void receiveRC5Data(RC5data_t rc5data)

{

	

	writeString_P("Toggle Bit:");

	writeChar(rc5data.toggle_bit + '0');

	writeString_P(" | Device Address:");

	writeInteger(rc5data.device, DEC);

	writeString_P(" | Key Code:");

	writeInteger(rc5data.key_code, DEC);

	writeChar('\n');



	switch(rc5data.key_code)

	{

		case RC5_KEY_LEFT: 	 		// Turn left:

			writeString_P("LEFT\n");

			int arm 
			{
				i=0;
				servo_stellzeit=16;
				DDRA |= E_INT1;            // E_INT1 als Ausgang
				DDRC |= 3;                  // SCL und SDA als Ausgang
				// 5 - 15 - 25             // Min - Mitte - Max
 				servo(15);          // Grundstellung
 				while (1)
				{
 				servo(17);
 				servo(18);
 				servo(19);
 				servo(20);
 				servo(21);
 				servo(22);
 				servo(23);
 				servo(24);
 				}

			setLEDs(0b100000);
			}

		break;
		case RC5_KEY_RIGHT: 		// Turn right:

			writeString_P("RIGHT\n");
						int arm 
			{
				i=0;
				servo_stellzeit=16;
				DDRA |= E_INT1;            // E_INT1 als Ausgang
				DDRC |= 3;                  // SCL und SDA als Ausgang
				// 5 - 15 - 25             // Min - Mitte - Max

	 			servo(15);          // Grundstellung
	 			while (1)
				{
 				servo(14);
 				servo(13);
 				servo(12);
 				servo(11);
 				servo(10);
 				servo(9);
 				servo(8);
 				servo(7);
 				servo(6);
 				}

			setLEDs(0b000100);
			}

		break;

	}	


}


/*****************************************************************************/


int main(void)

{

	initRobotBase(); 

	

	setLEDs(0b111111);

	writeChar('\n');

    writeString_P("RP6 controlled by RC5 TV Remote\n");

	writeString_P("___________________________\n");

	mSleep(500);	 

	setLEDs(0b000000); 

	powerON();

	

	// Set the RC5 Receive Handler:

	IRCOMM_setRC5DataReadyHandler(receiveRC5Data);



	return 0;

}
Aber er scheint Fehler zu haben ,da ich ine Aussage wie diese erhalte.
Code:
Compiling: RP6Base_tvarm.c
avr-gcc -c -mmcu=atmega32 -I. -gdwarf-2   -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=RP6Base_tvarm.lst -I../../../RP6Lib/ -I../../../RP6Lib//RP6base -I../../../RP6Lib//RP6common -std=gnu99 -MD -MP -MF .dep/RP6Base_tvarm.o.d RP6Base_tvarm.c -o RP6Base_tvarm.o
RP6Base_tvarm.c: In function 'receiveRC5Data':
RP6Base_tvarm.c:40: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
RP6Base_tvarm.c:46: warning: implicit declaration of function 'servo'
RP6Base_tvarm.c:65: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'i'
RP6Base_tvarm.c:85: error: break statement not within loop or switch
RP6Base_tvarm.c: At top level:
RP6Base_tvarm.c:88: error: expected identifier or '(' before '}' token
make: *** [RP6Base_tvarm.o] Fehler 1