Hallo
Wenn man stur die mSleep()s durch die Stopwatches ersetzt gewinnt man nichts:
Der Vorteil der Stopwatches ist die nicht blockierende Anwendung:Code:// Lauflicht mit Stopwatch (blockierend) #include "RP6RobotBaseLib.h" int main(void) { initRobotBase(); startStopwatch1(); startStopwatch2(); startStopwatch3(); while(true) { setStopwatch1(0); while(getStopwatch1() < 150); setLEDs(0b001001); setStopwatch2(0); while(getStopwatch2() < 150); setLEDs(0b010010); setStopwatch3(0); while(getStopwatch3() < 150); setLEDs(0b100100); task_RP6System(); // wird alle 3*150ms aufgerufen } return(0); }
(beides nicht getestet!)Code:// Lauflicht mit Stopwatch (nicht blockierend) #include "RP6RobotBaseLib.h" uint8_t step; int main(void) { initRobotBase(); step=0; startStopwatch1(); while(true) { if(getStopwatch1() > 150) { setStopwatch1(0); step++; if(step > 3) step=0; if(step==0) setLEDs(0b000000); if(step==1) setLEDs(0b001001); if(step==2) setLEDs(0b010010); if(step==3) setLEDs(0b100100); } task_RP6System(); // wird bei jedem Schleifendurchgang aufgerufen } return(0); }
Gruß
mic







Zitieren

Lesezeichen