noch ne frage zu nem anderen code! ich will, dass ein servo sich hin und her bewegt! dazu klemme ich den signaleingang vom servo an eine LED!

wenn ich den code ausführe, bewegt sich der servo nach rechts(soweit richtig) aber danach immer weiter nach rechts, obwohl er schon längst die maximale position (20) erreicht hat!

hier der code:

#include "RP6RobotBaseLib.h"
uint16_t servopos = 20;


int main (void)
{
initRobotBase();
while (true)
{
task_RP6System();
servoposi();
}
return 0;
}


void servotrim(void)
{
setLEDs(0b000000);
sleep(200-servopos);
setLEDs(0b010000);
sleep(servopos);
}

void servoposi(void)
{
if(servopos==10)
{
while(servopos != 20)
{
servopos++;
servotrim();
mSleep(50);
}
}
else if(servopos==20)
{
while(servopos != 10)
{
servopos--;
servotrim();
mSleep(50);
}
}
}