Hjem Personlig finansiering Elektronikk Prosjekter: Programmering PBASIC Subroutines - dummies

Elektronikk Prosjekter: Programmering PBASIC Subroutines - dummies

Video: Episode 0 - Kom i gang med micro:bit! 2024

Video: Episode 0 - Kom i gang med micro:bit! 2024
Anonim

PBASIC subrutiner er uvurderlige i elektronikkprosjektene dine ved hjelp av en BASIC Stamp-prosessor. En subrutine er en del av et program som kan hentes fra et hvilket som helst sted i programmet. Når underrutinen er ferdig, hopper kontrollen over programmet tilbake til det sted hvorfra subrutinen ble kalt.

Subrutiner er nyttige fordi de lar deg skille lange deler av programmet fra programmets hovedløkke, noe som forenkler hovedprogramsløyfen for å gjøre det lettere å forstå. En annen fordel med subrutiner er at de kan gjøre programmet mindre.

Anta at du skriver et program som må utføre komplisert beregning flere ganger. Hvis du plasserer den kompliserte beregningen i en underrutine, kan du ringe underrutinen fra flere steder i programmet. På den måten skriver du koden som utfører den kompliserte beregningen bare én gang.

For å opprette og bruke underrutiner må du bruke to PBASIC-kommandoer. Den første er GOSUB, som kaller underrutinen. Du bruker vanligvis GOSUB-kommandoen i programmets hovedløkke når du vil ringe underrutinen. Den andre kommandoen er RETURN, som alltid er den siste kommandoen i underrutinen.

For å lage en underrutine starter du med en etikett og slutter med en RETURN-kommando. Mellom dem skriver du hvilke kommandoer du vil utføre når subrutinen heter.

Her er et eksempel på en subrutine som genererer et tilfeldig tall mellom 1 og 999 og lagrer det i en variabel som heter Rnd:

GetRandom: RANDOM Rnd Rnd = Rnd // 999 + 1 RETURN

For å ringe denne underrutinen, ville du bare bruke en GOSUB-kommando som dette:

GOSUB GetRandom

Denne GOSUB-kommandoen overfører kontroll til GetRandom-etiketten. Da, når GetRandom-subrutinen når sin RETURN-kommando, hopper kontrollen tilbake til kommandoen umiddelbart etter GOSUB-kommandoen.

Her er et komplett program som bruker en subrutine for å få et tilfeldig tall mellom 1 og 1 000, og bruker tilfeldig tall for å få lysdioden på tapp 0 til å blinke med tilfeldige intervaller. Du kan kjøre dette programmet på hvilken som helst Basic Stamp-krets som har en LED på pinne 0.

'LED Blinker Program' Doug Lowe '10. juli 2011 "Dette programmet blinker LED-en på pinne 0 tilfeldig.' {$ STAMP BS2} '{$ PBASIC 2. 5} RND VAR Word Led1 PIN 0 GOSUB GetRandom HIGH Led1 PAUSE Rnd LOW Led1 PAUSE 100 LOOP GetRandom: RANDOM Rnd Rnd = Rnd // 999 + 1 RETURN

Når du bruker en subrutine, er det avgjørende at du forhindrer at programmet ved et uhell "faller inn" i din subrutine og utfører det når du ikke har tenkt det skal utføres.For eksempel, anta at programmet i liste 3-5 brukte en FOR-NEXT loop i stedet for en DO-loop fordi du ønsket å blinke lysdioden bare 100 ganger. Her er et eksempel på hvordan ikke for å skrive det programmet:

FOR Teller = 1 TIL 100 GOSUB GetRandom HIGH Led1 PAUSE RND LOW Led1 PAUSE 100 NESTE GetRandom: RANDOM Rnd Rnd = Rnd // 999 + 1 RETURN

Ser du hvorfor? Etter at FOR-NEXT-sløyfen blinker lysdioden 100 ganger, fortsetter programmet med neste kommando etter FOR-NEXT-sløyfen, som er underrutinen!

For å unngå at det skjer, kan du bruke enda en PBASIC-kommando, END, som bare forteller BASIC Stamp som du har nådd slutten av programmet, så det bør slutte å utføre kommandoer. Du vil plassere END-kommandoen etter kommandoen NEXT, slik:

FOR Teller = 1 TIL 100 GOSUB GetRandom HIGH Led1 PAUSE RND LOW Led1 PAUSE 100 NESTE END GetRandom: RANDOM Rnd Rnd = Rnd // 999 + 1 RETURN > Så stopper programmet etter at FOR-NEXT-sløyfen er ferdig.
Elektronikk Prosjekter: Programmering PBASIC Subroutines - dummies

Redaktørens valg

Vanlige medikamenteffekter for legeassistenteksamen - dummies

Vanlige medikamenteffekter for legeassistenteksamen - dummies

Bli kjent med vanlige bivirkninger for legeassistenteksamen (PANCE). Den gjennomsnittlige personen over 60 år tar omtrent ni reseptbelagte medisiner og ser minst fire forskjellige helsepersonell. Potensialet for noen til å oppleve bivirkningene av disse medisinene er enorm, og det er potensialet for signifikante legemiddelinteraksjoner. ...

Epidemiologiske studier dekket av legeassistenteksamen - dummies

Epidemiologiske studier dekket av legeassistenteksamen - dummies

For legeassistenteksamen (PANCE) du bør være oppmerksom på forskjellene mellom typer epidemiologiske studier. Det første trinnet er å gjenkjenne om studiet er en retrospektiv studie eller en prospektiv studie: Retrospektiv: En retrospektiv studie betyr at du ser på fortiden for å finne ut hva som skjedde. For eksempel, en ...

Forhold som påvirker pleura dekket på legeassistenteksamen - dummies

Forhold som påvirker pleura dekket på legeassistenteksamen - dummies

Du kan se Spørsmål om legeassistenteksamen om forhold som påvirker pleura. Du må vurdere evaluering og behandling av pleural effusions, pneumothorax og pleurisy. Væske rundt lungene: Pleural effusjon Normalt er pleura et tomt rom; en pleural effusjon er ganske enkelt væske som opptar den plassen. Pleural ...

Redaktørens valg

Slik setter du automatiske varsler på LinkedIn - dummies

Slik setter du automatiske varsler på LinkedIn - dummies

Sikkert, du kan gjøre alt fotverket ved å gå til LinkedIn hjemmesiden og ser deg rundt for å se hvilke meldinger eller endringer som har skjedd. Den sanne kraften til å holde kontakten, har imidlertid LinkedIn, kontakter deg automatisk med den informasjonen du trenger for å holde deg informert. Klikk på Administrer-koblingen ved siden av Personvern og innstillinger ...

Tips for å administrere dine LinkedIn Post-interaksjoner - dummies

Tips for å administrere dine LinkedIn Post-interaksjoner - dummies

Når du klikker Publiser på LinkedIn, kan du tenke at jobb er ferdig, men det er bare begynt. Etter hvert som flere og flere leser innlegget ditt, kan de samhandle med innlegget og med deg som forfatter. Her er noen ting å huske på etter at du har publisert et innlegg: Overvåk statistikken. Når du ...

Forstå LinkedIn Pulse - dummies

Forstå LinkedIn Pulse - dummies

Har du sjekket ut LinkedIn Pulse ennå? Tenk deg om du leser en avis som bare viste deg artikler som har betydning for deg. (For det hele, for mange av dere, tenk på de dagene du kanskje har lest en avis.) Tilpassede nyheter er mulige, og på LinkedIn kalles det LinkedIn Pulse. Alt du trenger å gjøre for å ...

Redaktørens valg

Hva Dragon NaturallySpeaking kan gjøre for deg - dummies

Hva Dragon NaturallySpeaking kan gjøre for deg - dummies

Noe om å diktere til en datamaskin vekker alle slags urealistiske forventninger hos mennesker. Hvis du forventer at du skal servere deg frokost på sengen, har du lykke til. Denne artikkelen ble ikke skrevet ved å si "Computer, skriv en bok om NaturallySpeaking. "Forfatteren måtte diktere det ord for ord, akkurat som hun ville hatt ...

Når Start ikke starter i NaturallySpeaking - dummies

Når Start ikke starter i NaturallySpeaking - dummies

Når du gir kommandoen "Start" til Dragon NaturallySpeaking, du sier "Start America Online" eller "Start Microsoft Works" eller "Start Quicken", og programmet skal åpnes. Men hva hvis det ikke gjør det? Hva er greia? Start-kommandoen starter et program som er installert på maskinen din, og har enten et snarveisikon på ...

Når NaturallySpeaking Menykommandoer ikke fungerer - dummies

Når NaturallySpeaking Menykommandoer ikke fungerer - dummies

Når du gir en kommando til NaturallySpeaking, for eksempel "Klikk" og ingenting skjer, det sannsynlige problemet er at menyen Bruk menyer som er kompatible med skjermlesere, ikke er merket av. For å sjekke det: Velg Verktøy → Valg i vinduet NaturallySpeaking. Det er ikke noe poeng å fortelle deg hvordan du får tilgang til dette med stemmen, for det er akkurat ...