Video: IT Chapter Two 2025
DO-sløjfen i PBASIC kan gøre programmeringen af BASIC Stamp i dit elektronikprojekt lidt mere kompakt. DO-løkken er en særlig PBASIC-erklæring, der udfører i det væsentlige den samme funktion som en etiket og en GOTO-erklæring. For eksempel overvej følgende:
Hoved: HØJ 0 PAUSE 500 LAV 0 PAUSE 500 GOTO Hoved
Den samme funktion kan udføres uden hovedmærket eller GOTO-sætningen ved at placere linjerne, der tænder og slukker for lysdioden mellem DO og LOOP udsagn, som denne:
DO HIGH 0 PAUSE 500 LOW 0 PAUSE 500 LOOP
Linjerne mellem DO og LOOP sætningerne udføres igen og igen på ubestemt tid.
'LED Flasher Program' Doug Lowe '10. juli 2011 "Dette program blinker LED'er, der er tilsluttet stifterne 0, 2, 4, 6, 8 og 10' i rækkefølge." Denne version af programmet bruger en DO-loop. '{$ PBASIC 2. 5}' {$ STAMP BS2} Hastighed VAR BYTE Led VAR BYTE Hastighed = 50 Led = 0 DO HIGH Led PAUSE Hastighed LOW Led PAUSE Hastighed IF Led <10 tHEN Led = Led + 2 ELSE Led = 0 ENDIF LOOP
Du kan tilføje en betinget test til LOOP-sætningen for at gøre sløjfen betinget. For eksempel:
Led = 0 DO HIGH Led PAUSE 500 LOW Led PAUSE 500 Led = Led + 2 LØB TIL LED> 10
Denne kode blinker LED'erne på stifterne 0, 2, 4, 6, 8 og 10. Når LED'en på pin 10 er blinket, sætter den næstgående linje Led-variablen til 12. Så ser LOOP UNTIL-sætningen, at Led er større end 10, så det stopper looping.
I stedet for ordet UNTIL kan du bruge ordet WHILE til at markere tilstanden i en DO-loop. Der er en betydelig forskel mellem UNTIL og WHILE, og forskellen er ligesom ordene tyder på. Når du bruger ordet UNTIL, udføres løkken indtil tilstanden tester sand. Når du bruger ordet WHILE, udføres sløjfen, indtil tilstanden tester falsk.
Bemærk, at du også kan inkludere betingelsestesten på DO-sætningen eller på LOOP-sætningen. Hvis du placerer tilstandstesten på DO-sætningen, testes tilstanden før hver udførelse af sløjfen. Hvis du placerer det på LOOP-sætningen, testes tilstanden efter færdiggørelsen af hver løkke.
Det er almindeligt at placere WHILE-test på DO-erklæringen og UNTIL-test på LOOP-sætningen.
Led = 0 GØR MED LED <11 HIGH Led PAUSE 500 LOW Led PAUSE 500 Led = Led + 2 LOOP
Her testes værdien af Led før hver udførelse af sløjfen. Sløjfen udføres så længe Led er mindre end 11.
DO-sløjfer kan være indlejret , hvilket betyder at en DO-sløjfe kan indeholde en anden DO-sløjfe.Når DO-sløjfer er nestet, skal indre sløjfe have en betinget test. Ellers vil det løbe for evigt, og den ydre loop vil aldrig have en chance for at fuldføre.
I dette program blinker den inderste DO-loop en gang til de seks lysdioder. Det bruger en UNTIL betingelse for at stoppe sløjfen, efter at den sidste LED har blinket. Den yderste DO-løkke fortsætter uendeligt, og den blinkende sekvens fortsætter på ubestemt tid.
'LED Flasher Program' Doug Lowe '10 juli 2011 "Dette program blinker lysdioder, der er forbundet til stifterne 0, 2, 4, 6, 8 og 10' i rækkefølge." Denne version af programmet bruger indlejrede DO-sløjfer. '{$ PBASIC 2. 5}' {$ STAMP BS2} Hastighed VAR BYTE Led VAR BYTE Hastighed = 50 DO Led = 0 DO HIGH Led PAUSE Hastighed LOW Led PAUSE Hastighed Led = Led +