Hallo Fieke,
es gibt in deiner Hauptschleife zu viele Dinge, die bewirken, dass die Tasks zu langsam aufgerufen werden. Auf jeden Fall darf in der Hauptschleife keine Pause sein (mSleep(1000) ) und die Textausgaben würde ich auch in ein Unterprogramm verlagern und z.B. über eine Stopwatch nur 1x / Sekunde ausgeben oder nur, wenn z.B. obstacle_... TRUE ist.
In der bumper-Funktion sind move und rotate auch blockierend. Auch das verzögert den Ablauf der Hauptschleife.
Die Kunst ist letztlich, alle deine Aufgaben auch als Tasks zu schreiben und in die Main-Schleife einzubinden. Jede Task sollte möglichst schnell wieder verlassen werden und die Kontrolle an die Hauptschleife abgeben. In der Main-Schleife selbst sollte es keine Verzögerungen oder Textausgaben geben.
Main-Loop:
Code:
while(true)
{
task_MyTask_1();
task_MyTask_2();
task_RP6System();
}
return 0;
}
Gruß Dirk
Lesezeichen