Elektronik Projekter: Sådan bruges DO Loops i PBASIC Code

DO loop i PBASIC kan gøre programmeringen af ​​BASIC Stamp i din elektronik projekt lidt mere kompakt. DO sløjfe er en særlig PBASIC udsagn, som udfører i det væsentlige den samme funktion som en etiket og et GOTO erklæring. For eksempel overveje følgende:

Main:
HIGH 0
PAUSE 500
LAV 0
PAUSE 500
GOTO Main

Den samme funktion kan ske uden Main etiket eller GOTO-sætningen ved at placere de linjer, der slå lysdioden til og fra mellem DO og LOOP udsagn, som dette:

DO
HIGH 0
PAUSE 500
LAV 0
PAUSE 500
LOOP

Linjerne mellem DO og LOOP udsagn vil blive udført igen og igen i det uendelige.

»LED Flasher Program
'Doug Lowe
'Jul 10, 2011
'
Denne program blinker lysdioder er forbundet til ben 0, 2, 4, 6, 8 og 10
"I rækkefølge.
'
Denne version af programmet anvender en DO sløjfe.
'{$ PBASIC 2.5}
'{$ STAMP BS2}
Speed ​​VAR BYTE
Led VAR BYTE
Hastighed = 50
Led = 0
DO
HIGH Led
PAUSE Speed
LOW Led
PAUSE Speed
HVIS Led <10 THEN
Led = Led + 2
ELSE
Led = 0
ENDIF
LOOP

Du kan tilføje en betingelsestest til LOOP erklæring at gøre løkken betinget. For eksempel:

Led = 0
DO
HIGH Led
PAUSE 500
LOW Led
PAUSE 500
Led = Led + 2
LOOP INDTIL Led> 10

Denne kode vil blinke LED'erne på tappe 0, 2, 4, 6, 8, og 10. Efter LED på pin 10 flashes, næste-til-sidste linje sætter Led variablen til 12. Derefter LOOP indtil erklæring ser, at Led er større end 10, så det holder op med looping.

I stedet for ordet INDTIL, kan du bruge ordet tid at markere tilstanden i en DO loop. Thereâ € sa væsentlig forskel mellem INDTIL og mens, og forskellen er lige så ordene antyder. Når du bruger ordet INDTIL vil løkken udføres indtil betingelsen tester sandt. Når du bruger ordet stykke tid, vil løkken udføres indtil betingelsen tester falsk.

Bemærk at du også kan omfatte betingelsen test på DO erklæring eller på LOOP redegørelse. Hvis du placerer betingelse test på DO indregnes den betingelse testes før hver udførelse af løkken. Hvis du placerer den på LOOP indregnes den betingelse testes efter afslutningen af hver sløjfe.

Itâ € s fælles for plads, mens tests på DO redegørelse, og indtil test på LOOP erklæring.

Led = 0
Gøre, mens Led <11
HIGH Led
PAUSE 500
LOW Led
PAUSE 500
Led = Led + 2
LOOP

Her er værdien af ​​Led afprøves før hver udførelse af løkken. Sløjfen er gennemført, så længe Led er mindre end 11.

DO sløjfer kan indlejres, hvilket betyder, at man gøre løkke kan indeholde en anden DO loop. Hvornår loops er indlejret, skal den indre løkke har en betingelse. Ellers vil det loop evigt, og den ydre løkke vil aldrig have en chance for at fuldføre.

I dette program, den inderste DO loop blinker de seks lysdioder gang. Det bruger en indtil betingelse for at stoppe løkken efter den sidste LED har flashed. Den yderste DO loop fortsætter uendeligt, hvilket får blinkende sekvens til at fortsætte i det uendelige.

»LED Flasher Program
'Doug Lowe
'Jul 10, 2011
'
Denne program blinker lysdioder er forbundet til ben 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}
Speed ​​VAR BYTE
Led VAR BYTE
Hastighed = 50
DO
Led = 0
DO
HIGH Led
PAUSE Speed
LOW Led
PAUSE Speed
Led = Led + 2
LOOP INDTIL Led> 10
LOOP


© 2020 Zajacperrone.com | Contact us: webmaster# zajacperrone.com