SRY habs schon hinbekommen die werte entsprachen nicht die meines Servos
Code:
#include "RP6RobotBaseLib.h" // The RP6 Robot Base Library. 
// Defines: 
#define SERVO_OUT SDA // PINC1 XBUS Pin 12 



// Servo movement limits (depending on servo type): 
#define mitte_TOUCH 550//550  Left servo touch 
#define RIGHT_TOUCH 100 // Right servo touch [max. 255] 
#define PULSE_ADJUST 4 
#define PULSE_REPETITION 18 // Pulse repetition frequenc
//Variablen 
 
int richtung=0; //0=rechts; 1=links 
int speed=2; 

/*****************************************************************************/ 
// Functions: 

/** 
* INIT SERVO 
* 
* Call this once before using the servo task. 
* 
*/ 
void initSERVO(void) 
{ 
DDRC |= SERVO_OUT; // SERVO_OUT -> OUTPUT 
PORTC &= ~SERVO_OUT; // SERVO_OUT -> LO 
startStopwatch1(); // Needed for 20ms pulse repetition 
} 
void pulseSERVO(uint8_t position) 
{ 
cli(); 
PORTC |= SERVO_OUT; // SERVO_OUT -> HI (pulse start) 
delayCycles(mitte_TOUCH); 
while (position--) 

{ 
delayCycles(PULSE_ADJUST); 
} 
PORTC &= ~SERVO_OUT; // SERVO_OUT -> LO (pulse end) 
sei(); 
} 
void task_SERVO(void) 
{static uint8_t pos; 
if (getStopwatch1() > PULSE_REPETITION) { // Pulse every ~20ms 
if(richtung==1) pos=pos+speed; 
if(richtung==0) pos=pos-speed; 



if (pos <10) {richtung = 1;

mSleep(1500); // delay 500ms 

} //nach rechts drehen 

if (pos > 250) {richtung = 0;
mSleep(1500); // delay 500ms 

} //nach links drechen 

pulseSERVO(pos); 
setStopwatch1(0); 
} 
} 

/*****************************************************************************/ 
// Main function - The program starts here: 

int main(void) 
{ 
initRobotBase(); 
powerON();//anschalten 
startStopwatch1(); 
setLEDs(0b111111); // Turn all LEDs on 
mSleep(500); // delay 500ms 
setLEDs(0b000000); // All LEDs off 

initSERVO(); 

while(true) 
{ 
task_SERVO(); 

task_RP6System(); 




} 
return 0; 
}