Verständlicher? Ich befürchte neinCode:// Die schon gestarteten Stoppuhren werden auf null gesetzt, alle Demos bei 0 starten setStopwatch1(0); setStopwatch2(0); setStopwatch3(0); // Nach "for(c=0;c<6;c++)" hat c den Wert 6. Die folgende Schleife wird solange // ausgeführt wie c einen Wert != 0 enthält. while(c) { // Der Wert in c wird mit Hilfe der LEDs dargestellt. setLEDs(1<<c); // Sind seit dem letzten reseten der Stopwatch1 mehr als 1000ms vergangen? if(getStopwatch1()>1000) { // Wenn ja, dann Stopwatch1 wieder auf null setzen und Demo für Servo1 ausführen setStopwatch1(0); // Unter Berücksichtigung der letzten Servoposition die nächste Position laden switch(servo1) { case 38: servo1=30; break; case 30: servo1=20; break; case 20: servo1=14; break; case 14: servo1=21; break; case 21: servo1=31; break; case 31: servo1=38; break; } } // Alle 100ms wird das Demo für Servo2 weitergetaktet if(getStopwatch2()>100) { setStopwatch2(0); // Servo2 weiterdrehen, wenn Ende Schwenkbereich erreicht ist, wieder neu starten // Nach jedem Schwenk wird hier c um eins verkleinert bis schlieslich "while(c)" // nicht mehr erfüült ist und die Demoschleife abgebrochen wird. servo2++; if (servo2 > 38) { servo2=14; c--; } } if(getStopwatch3()>300) { setStopwatch3(0); // Alle 300ms soll das Servo3 eine Endlage anfahren. Das ist im Video de Beeper if (servo3 == 10) servo3=50; else servo3=10; } task_RP6System(); // Verträglichkeitstest ;) }![]()
Lesezeichen