Hjem Personlig finansiering Elektronik Projekter: Programmering PBASIC Subrutiner - dummier

Elektronik Projekter: Programmering PBASIC Subrutiner - dummier

Video: How I Made My Own iPhone - in China 2025

Video: How I Made My Own iPhone - in China 2025
Anonim

PBASIC subrutiner er uvurderlige i dine elektronikprojekter ved hjælp af en BASIC Stamp-processor. En subrutine er en sektion af et program, der kan kaldes fra ethvert sted i programmet. Når subrutinen er færdig, hopper styringen af ​​programmet tilbage til det sted, hvorfra subrutinen blev kaldt.

Underrutiner er nyttige, fordi de lader dig adskille lange dele af dit program fra programmets hovedløjfe, hvilket forenkler hovedprogramsløjfen for at gøre det lettere at forstå. En anden fordel ved subrutiner er, at de kan gøre dit program mindre.

Antag at du skriver et program, der skal udføre kompliceret beregning flere gange. Hvis du placerer den komplicerede beregning i en underrutine, kan du ringe underrutinen fra flere steder i programmet. På den måde skriver du koden, der udfører den komplicerede beregning, kun én gang.

For at oprette og bruge underrutiner skal du bruge to PBASIC-kommandoer. Den første er GOSUB, som kalder underrutinen. Du bruger typisk GOSUB-kommandoen i dit programs primære loop, når du vil ringe til underrutinen. Den anden kommando er RETURN, som altid er den sidste kommando i underrutinen.

For at oprette en underrutine starter du med en etiket og slutter med en RETURN-kommando. Mellem dem skriver du uanset kommandoer, du vil udføre, når underrutinen hedder.

Her er et eksempel på en subrutine, der genererer et tilfældigt tal mellem 1 og 999 og gemmer det i en variabel ved navn Rnd:

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

For at kalde denne subrutine, ville du simpelthen bruge en GOSUB-kommando som denne:

GOSUB GetRandom

Denne GOSUB-kommando overfører kontrol til GetRandom-etiketten. Så når GetRandom-subrutinen når sin RETURN-kommando, hopper styringen tilbage til kommandoen straks efter GOSUB-kommandoen.

Her er et komplet program, der bruger en subrutine til at få et tilfældigt tal mellem 1 og 1, 000 og bruger tilfældigt tal for at få LED'en på knap 0 til at blinke med tilfældige intervaller. Du kan køre dette program på ethvert Basic Stamp-kredsløb, der har en LED på pin 0.

'LED Blinker Program' Doug Lowe '10. juli 2011 "Dette program blinker LED'en på stift 0 tilfældigt.' {$ 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 bruger en subrutine, er det afgørende at du forhindrer dit program fra et uheld at "falde i" din subrutine og udføre det, når du ikke har til hensigt at udføre det.Antag for eksempel at programmet i liste 3-5 anvendte en FOR-NEXT-loop i stedet for en DO-loop, fordi du kun ønskede at blinke LED'en kun 100 gange. Her er et eksempel på, hvordan ikke skriver dette program:

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

Kan du se hvorfor? Når FOR-NEXT-sløjfen blinker LED'en 100 gange, fortsætter programmet med den næste kommando efter FOR-NEXT-sløjfen, som er underrutinen!

For at forhindre det, kan du bruge endnu en PBASIC-kommando, END, som blot fortæller det BASIC Stamp, du har nået til slutningen af ​​dit program, så det bør stoppe udførelsen af ​​kommandoer. Du vil placere kommandoen END efter kommandoen NEXT, som denne:

FOR Counter = 1 TIL 100 GOSUB GetRandom HIGH Led1 PAUSE Rnd LOW Led1 PAUSE 100 NÆSTE END GetRandom: RANDOM Rnd Rnd = Rnd // 999 + 1 RETURN > Derefter stopper programmet efter FOR-NEXT loop-afslutningen.
Elektronik Projekter: Programmering PBASIC Subrutiner - dummier

Valg af editor

10 Transaktioner og funktioner, som de fleste oplysninger konverterer til i QuickBooks Online - dummies

10 Transaktioner og funktioner, som de fleste oplysninger konverterer til i QuickBooks Online - dummies

Følgende listen indeholder detaljer om transaktioner og funktioner, som de fleste data konverterer og sammenlignelige transaktioner og funktioner findes i QuickBooks Online (QBO). I nogle tilfælde findes undtagelser; Du finder specifikke noter i web-ekstraartikel & ldquo; Hvordan QuickBooks Desktop Lister Konverter til QuickBooks Online. & Rdquo; Og for flere oplysninger, besøg QuickBooks ofte stillede spørgsmål, og ldquo; Hvorfor ...

Der producerer betalingsopgørelser i MYOB-dummies

Der producerer betalingsopgørelser i MYOB-dummies

I slutningen af ​​hvert lønningsår (som slutter den 30. juni) kan bruge MYOB til at levere hver medarbejder med et betalingsoversigt. Et betalingsopsamling er et kort dokument, der opsummerer de bruttolønninger, skat og godtgørelser, som medarbejderen har modtaget i løbet af de sidste 12 måneder af ansættelsen. Opsætning af betalingsoversigter Til ...

15 Funktioner, der ikke konverteres og findes ikke i QuickBooks Online

15 Funktioner, der ikke konverteres og findes ikke i QuickBooks Online

Følgende oplysninger viser transaktioner og funktioner, som ikke konverteres fra desktop QuickBooks til QuickBooks Online (QBO) og heller ikke har nogen sammenlignelig funktion i QBO. Selv om en eller flere af disse transaktioner eller funktioner kan være afbrudte afbrydere, skal du huske at for mange af disse funktioner kan du bruge løsninger. Typen af ​​data eller funktional noter ...

Valg af editor

Sådan bruger du FREQUENCY-funktionen i Excel - dummier

Sådan bruger du FREQUENCY-funktionen i Excel - dummier

FREQUENCY-funktionen i Excel tæller værdierne i en array der falder inden for en rækkevidde eller bin. Funktionen bruger følgende syntaks: = FREQUENCY (data_array, bins_array) hvor data_array er det regnearkområde, der indeholder de værdier, du vil tælle, og bins_array er et regnearkområde, der identificerer værdierne eller bakkerne, der ...

Hvordan man bruger målsøgningsfunktionen i Excel 2013 - dummies

Hvordan man bruger målsøgningsfunktionen i Excel 2013 - dummies

, Når du skal analysere , bruger du Excel 2013s målsøgningsfunktion til at finde de indgangsværdier, der er nødvendige for at opnå det ønskede mål. Nogle gange, når du gør hvad-hvis analyse, har du et bestemt udgangspunkt i tankerne, såsom et mål salgsmængde eller vækstprocent. Hvis du vil bruge funktionen Målsøgning placeret på What-If ...

Hvordan man vælger Excel CHOOSE-funktionen i datamodeller - dummier

Hvordan man vælger Excel CHOOSE-funktionen i datamodeller - dummier

Selvom valgmuligheden måske ikke Se nyttige på overfladen, denne funktion kan dramatisk forbedre dine Excel-datamodeller. VÆLG-funktionen returnerer en værdi fra en bestemt liste over værdier baseret på et angivet positionsnummer. Hvis du f.eks. Indtaster formlerne VÆLG (3, "Rød", "Gul", "Grøn", "Blå") i en celle, returnerer Excel ...

Valg af editor

Indlæs en Workflow i SharePoint 2010 - dummies

Indlæs en Workflow i SharePoint 2010 - dummies

Konfigurere dit bibliotek til at bruge en workflow i SharePoint 2010 løser kun en del af problemet. Hvis du ikke har dit bibliotek konfigureret til at kick-off automatisk, skal en person manuelt starte workflowen. Start manuelt en arbejdsgang ved at følge disse trin: Gennemse det element, du vil godkende, klik på rullelisten og vælg Workflows. ...

Bibliotek / Liste Generelle indstillinger Område i SharePoint 2010 - dummies

Bibliotek / Liste Generelle indstillinger Område i SharePoint 2010 - dummies

Bibliotekets generelle indstillinger / listen er blevet udvidet i SharePoint 2010 til at omfatte flere nye indstillinger, herunder validering, kolonne standardværdi (for biblioteker), vurdering, metadata navigation, visningsvisning og formular (for lister). Her er et overblik for at se, hvad du kan gøre med hver af disse muligheder. Generelle indstillinger Konfigurationsindstillinger Indstillingsnavn ...

Importer et regneark som en liste i SharePoint 2010 - dummies

Importer et regneark som en liste i SharePoint 2010 - dummies

Har allerede data i et regneark, som du Vil du være en SharePoint 2010 liste? Du er halvvejs derhen! Før du starter, skal du sørge for at gøre følgende: Rens listen. Sørg for, at din liste ligner et bord uden tomme kolonner eller rækker. Sørg for, at din liste har overskrifter. Alle kolonner skal have en ...