Passerende matrise for å fungere i Arduino
Arduino -programmering tillater ikke direkte å bestå en hel rekke som funksjonsargument. Imidlertid kan en peker sendes til en matrise ved å spesifisere navnet.
For å passere en dimensjonsarrays som et funksjonsargument må vi vurdere å følge tre gitt syntaks. Alle tre vil sende ut det samme resultatet og fortelle IDE at en peker kommer.
Syntaks 1: En peker med formelle parametere.
ReturnType FunctionName (DataType *Param)
Syntaks 2: En peker med en størrelse matrise.
ReturnType FunctionName (DataType Param [10])
Syntaks 3: En peker med en ubestemmelig matrise.
ReturnType FunctionName (DataType Param [])
Vi kan gi matrise til Arduino -funksjon ved å bruke to forskjellige metoder:
PASS -matrise med array -type
Nå i denne metoden vil vi gi en rekke til en funksjon som et argument for den funksjonen. La oss ta et eksempel for å forstå hvordan du kan gi en rekke til en funksjon.
Eksempelkode
void display (int num [5]) /*funksjonsdisplay initialiseres* /
Serie.Println ("Printing Array Elements:");
for (int i = 0; i < 5; ++i) /*For loop to print array elements*/
Serie.print ("element");
Serie.trykk (i+1); /*Tilstand for å øke elementnummeret hver gang kode kjører*/
Serie.skrive ut(": ");
Serie.println (num [i]); /*Elementnummer skrives ut*/
void setup ()
Serie.Begynn (9600); /*Seriell kommunikasjon begynner*/
int num [5] = 10, 20, 30, 40, 50; /*Matriseelementer med størrelse initialisert*/
display (num); /*Array -elementer som vises*/
retur 0;
void loop ()
I ovenfor kode først en ny funksjon med tomromstype blir initialisert med en matrisestørrelse på 5. For Loop skrives ut for å returnere tall fra 1 til 5 hver tidskode kjører. Legg merke til parametrene for Void Display () -funksjonen Her brukte vi full erklæring inkludert matrisestørrelse og funksjonsparametere sammen med firkantede seler [].
I sløyfedelen ved hjelp av visning (num) Vi kaller den opprinnelige funksjonen ved å gi en matrise som et argument. Her Num representerer den første elementminneadressen.
Produksjon
Utgangsvinduet viser elementene i matrisen en etter en. Bruke en for loop alle de 5 elementene i matrisen sendes til å fungere.
Konklusjon
Arduino -programmering som C ++ tillater ikke å sende en hel matrise til en funksjon, men ved å bruke en peker til en matrise ved å spesifisere navnet på den gitte matrisen kan vi enkelt sende alle matriseelementer til en funksjon fullstendig. Tre forskjellige syntaks følges for å passere en matrise for å fungere. Denne oppskrivningen vil hjelpe deg med å passere enhver rekke for å fungere inne i Arduino -skissen.