Hallo
Keine Sorge wegen deines Codes, jeder hier hat mal klein angefangen.![]()
Zu deinem Problem:
Möglicherweise verhindert die blockierende Ausführung von Move und Rotate, dass die Bumber neu eingelesen werden können. Wenn man das Task-System verwendet, sollte man blockierende Funktionen vermeiden.
Anstelle des "true" verwendet man dann besser diese Funktion:
uint8_t isMovementComplete(void)
und der Code würde dann etwa so aussehen:
So ist gewährleistet, dass alle Task-Funktionen weiterhin ausgeführt werden.Code:... if(bumper_left) {setLEDs(0b111111); move(50, BWD, DIST_MM(100), false); while (!isMovementComplete()) task_RP6System(); setLEDs(0b001111); rotate(90, RIGHT, 70, false); while (!isMovementComplete()) task_RP6System(); setLEDs(0b001001); } ...
Gruß
mic







Zitieren

Lesezeichen