hi Dirk,

also so, wie ich es mir nun gedacht habe geht es offensichtlich auch nicht

die zwei funktionen sehen so aus:

Code:
void servo_right_top(void)
{
	 startStopwatch2();
	 setStopwatch2(0);
	 if (getStopwatch2() > 1000)
		   {
		 	servo2_position = pos[1];
		 	servo4_position = pos[12];
		 	stopStopwatch2();
		   }
}
---------------------------------
void servo_left_bottom(void)
{
	 startStopwatch2();
	 setStopwatch2(0);
	 if (getStopwatch2() > 2000)
		   {
		 	servo2_position = pos[1];
		 	servo4_position = pos[1];
		 	stopStopwatch2();
		   }
}
der aufruf der beiden funktionen in der hauptschleife:
Code:
   while(true)
   {
	   servo_right_top();
	   move(60, FWD, DIST_MM(300), BLOCKING);
	   servo_left_bottom();	   

	   task_SERVO();
	   mSleep(3);
   }
   return 0;

die movefunktion zwischen den beiden servofunktionen soll eigentlich nur als eine zusätzliche verzögerung dienen...

der roboter führt die move funktion aus, die Servos zucken nur auf der stelle. Ich vermute mal, weil die if-bedingung nie erfüllt wird. Ich habe versucht (in der funktion) den startzustand der stopwatches auf einen höheren wert als der, der abgefragt wird einzustellen, bringt aber auch nichts...

was habe ich denn noch nicht verstanden?