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:
Gruß DirkCode:while(true) { task_MyTask_1(); task_MyTask_2(); task_RP6System(); } return 0; }







Zitieren

Lesezeichen