Video: Arduino vs. Raspberry Pi // Bits 2024
Die DO-Schleife in PBASIC kann die Programmierung des BASIC Stamp in Ihrem Elektronikprojekt etwas kompakter machen. Die DO-Schleife ist eine spezielle PBASIC-Anweisung, die im Wesentlichen die gleiche Funktion wie eine Beschriftung und eine GOTO-Anweisung ausführt. Betrachten Sie zum Beispiel Folgendes:
Main: HOCH 0 PAUSE 500 LOW 0 PAUSE 500 GOTO Main
Die gleiche Funktion kann ohne das Main-Label oder die GOTO-Anweisung ausgeführt werden, indem die Zeilen platziert werden, die die LED ein- und ausschalten. zwischen DO- und LOOP-Anweisungen, wie folgt:
DO HOCH 0 PAUSE 500 LOW 0 PAUSE 500 LOOP
Die Zeilen zwischen den DO- und LOOP-Anweisungen werden immer und immer wieder auf unbestimmte Zeit ausgeführt.
'LED-Blinkerprogramm' Doug Lowe '10. Juli 2011 "Dieses Programm blinkt nacheinander mit den Pins 0, 2, 4, 6, 8 und 10'." Diese Programmversion verwendet eine DO-Schleife. '{$ PBASIC 2. 5}' {$ STAMP BS2} Geschwindigkeit VAR BYTE LED VAR BYTE Geschwindigkeit = 50 Led = 0 DO HIGH Led PAUSE Geschwindigkeit LOW Led PAUSE Geschwindigkeit IF LED <10 tHEN Led = Led + 2 ELSE Led = 0 ENDIF LOOP
Sie können der LOOP-Anweisung einen Bedingungstest hinzufügen, um die Schleife als Bedingung zu definieren. Zum Beispiel:
Led = 0 DO HOCH Led PAUSE 500 LOW Led PAUSE 500 Led = Led + 2 LOOP UNTIL Led> 10
Dieser Code blinkt die LEDs an den Pins 0, 2, 4, 6, 8 und 10. Nachdem die LED an Pin 10 geflasht wurde, setzt die vorletzte Zeile die Led-Variable auf 12. Dann sieht die LOOP UNTIL-Anweisung, dass Led größer als 10 ist, so dass die Schleife beendet wird.
Anstelle des Wortes UNTIL können Sie das Wort WHILE verwenden, um die Bedingung in einer DO-Schleife zu markieren. Es gibt einen wesentlichen Unterschied zwischen UNTIL und WHILE, und der Unterschied ist genau so, wie die Worte vermuten lassen. Wenn Sie das Wort UNTIL verwenden, wird die Schleife ausgeführt, bis die Bedingung wahr ist. Wenn Sie das Wort WHILE verwenden, wird die Schleife ausgeführt, bis die Bedingung falsch ist.
Beachten Sie, dass Sie den Bedingungstest auch in die DO-Anweisung oder in die LOOP-Anweisung aufnehmen können. Wenn Sie den Bedingungstest in der DO-Anweisung platzieren, wird die Bedingung vor bei jeder Ausführung der Schleife getestet. Wenn Sie es in der LOOP-Anweisung platzieren, wird die Bedingung nach der Beendigung jeder Schleife getestet.
Es ist üblich, WHILE-Tests für die DO-Anweisung und UNTIL-Tests für die LOOP-Anweisung durchzuführen.
LED = 0 DO WHILE LED <11 HOCH Led PAUSE 500 LOW Led PAUSE 500 LED = Led + 2 LOOP
Hier wird der Wert von Led vor jeder Ausführung der Schleife getestet. Die Schleife wird so lange ausgeführt, wie Led kleiner als 11 ist.
DO-Schleifen können verschachtelt sein , was bedeutet, dass eine DO-Schleife eine andere DO-Schleife enthalten kann.Wenn DO-Schleifen geschachtelt sind, muss die innere Schleife einen bedingten Test haben. Andernfalls wird es für immer eine Schleife bilden, und die äußere Schleife wird niemals eine Chance haben, abgeschlossen zu werden.
In diesem Programm blinkt die innerste DO-Schleife die sechs LEDs einmal. Es verwendet eine UNTIL-Bedingung, um die Schleife zu stoppen, nachdem die letzte LED geblinkt hat. Die äußerste DO-Schleife setzt sich endlos fort, wodurch die Blinksequenz unbegrenzt fortgesetzt wird.
'LED-Blinkprogramm' Doug Lowe '10. Juli 2011 "Dieses Programm blinkt nacheinander mit den Pins 0, 2, 4, 6, 8 und 10'." Diese Version des Programms verwendet verschachtelte DO-Schleifen. '{$ PBASIC 2. 5}' {$ STAMP BS2} Geschwindigkeit VAR BYTE LED VAR BYTE Geschwindigkeit = 50 DO Led = 0 DO HOCH Led PAUSE Geschwindigkeit LOW Led PAUSE Geschwindigkeit Led = Led + 2 LOOP UNTIL Led> 10 LOOP