Hallo,

ich habe jetzt mein erstes "sinvolles" Programm geschrieben, und zwar mitdem sich der Robby (auf einer Stelle drehend) immer zur Sonne bzw. zu einer Lichtquelle hin ausrichtet. Das Problem ist, wenn ich das Programm starte, dann dreht sich der Roboter sehr schnell auf der Stelle und gibt dann eine Fehlermeldung aus -> ich weiß das das was "mit task_motionControl()" zu tun hat, aber ich kann den Fehler einfach nicht finden. Ich hoffe ihr könnt mir helfen!

Code:
#include "RP6RobotBaseLib.h"					

int main (void)
{
	initRobotBase();
	writeString("Ich beginne in 3sec. mit dem Test der Lichtsensoren!\n");
	powerON;								//Motorsysteme einschalten
	mSleep(3000);							//3sec. warten
	startStopwatch1(); 						//Timer 1 starten

	while (true)
	{
		uint16_t Licht_L = adcLSL; 			//linker Lichtsensor
		uint16_t Licht_R = adcLSR;			//rechter Lichtsensor
		int16_t  Diff = Licht_L - Licht_R;	//Differenz berechnen
		
		if (getStopwatch1() > 300)			//Timer auslesen
		{
			writeString("Licht Links:");	//Lichtstärke links ausgeben
			writeInteger(Licht_L, DEC);
			writeString("	Licht Rechts:");//Lichtsensor rechts ausgeben
			writeInteger(Licht_R, DEC);
			writeString("	  Differenz:");	//Lichtdifferenz ausgeben
			writeInteger(Diff, DEC);
			writeString("\n");				//neue Zeile
			if (Licht_L > Licht_R)			//wenn Licht Licht links stärker ist als rechts...
			{
				setLEDs(0b110000);			//die linke LED-Reihe einschalten
				rotate(20, RIGHT, 1, true);//nach rechts drehen
			}
			else if (Licht_L < Licht_R)		//wenn Licht Licht rechts stärker ist als links...
			{
				setLEDs(0b000110);			//die rechte LED-Reihe einschalten
				rotate(20, LEFT, 1, true);	//nach links drehen
			}
			else if (Licht_L = Licht_R)		//wenn Licht auf beiden Sensoren gleich ist...
			{
				setLEDs(0b001001);			//die grünen LEDs einschalten
			}
			setStopwatch1(0);				//Timer stoppen
		}
		task_ADC();							//ADC Funktion aufrufen
		task_motionControl();				//Motor Funktion aufrufen
	}
}
Für Fragen steh ich immer zur Verfügung!
Danke im Voraus!!!