Wie man ein Array an eine Arduino -Funktion übergibt

Wie man ein Array an eine Arduino -Funktion übergibt
Die Arduino -Programmierung verwendet Arrays, um mehrere Datenwerte desselben Datentyps zu speichern. Arrays sind wie Variablen. Sowohl Arrays als auch Variablen sind eine Art Container, aber Arrays haben Teilnehmer in den Containern, um mehrere Daten zu speichern. Das einzige, was zu beachten ist, ist, dass Arrays nur Daten mit demselben Datentyp speichern können. Mal sehen, wie man ein Array an Funktionen übergibt.

Übergeben von Array, um in Arduino zu funktionieren

Die Arduino -Programmierung erlaubt es nicht, ein ganzes Array direkt als Argument der Funktion zu übergeben. Ein Zeiger kann jedoch an ein Array übergeben werden, indem sein Name angegeben wird.

Um einzelne Dimension Arrays als Funktionsargument zu übergeben, müssen wir in Betracht ziehen, drei gegebene Syntax zu folgen. Alle drei geben das gleiche Ergebnis aus und sagen der IDE, dass ein Zeiger kommt.

Syntax 1: Ein Zeiger mit formalen Parametern.

returntype FunktionName (DataType *Param)

Syntax 2: Ein Zeiger mit einem Array in der Größe.

returntype FunktionName (DataType Param [10])

Syntax 3: Ein Zeiger mit einem nicht gewaltten Array.

returntype FunktionName (DataType Param [])

Wir können Array an Arduino -Funktion mit zwei verschiedenen Methoden übergeben:

  • Übergeben Sie das Array per Array -Typ
  • Übergeben Sie Array mit Zeigertyp

Übergeben Sie das Array per Array -Typ

In dieser Methode werden wir nun ein Array an eine Funktion als Argument dieser Funktion übergeben. Nehmen wir ein Beispiel, um zu verstehen, wie man ein Array an eine Funktion übergibt.

Beispielcode

void Display (int num [5]) /*Funktionsanzeige wird initialisiert* /
Serie.println ("Druckarray -Elemente:");
für (int i = 0; i < 5; ++i) /*For loop to print array elements*/
Serie.print ("element");
Serie.print (i+1); /*Bedingung zur Erhöhung der Elementnummer jedes Mal, wenn der Code ausgeführt wird*/
Serie.drucken(": ");
Serie.println (num [i]); /*Elementnummer wird gedruckt*/


void setup ()
Serie.Beginnen Sie (9600); /*Serielle Kommunikation beginnt*/
int num [5] = 10, 20, 30, 40, 50; /*Array -Elemente mit initialisierter Größe*/
Anzeige (num); /*Array -Elemente angezeigt*/
Rückkehr 0;

void Loop ()

Im obigen Code wird zunächst eine neue Funktion mit Hohlräumen mit einer Array -Größe von 5 initialisiert. Für die Schleife wird jedes Mal, wenn der Code ausgeführt wird. Beachten Sie die Parameter der void display () -Funktion Hier haben wir die vollständige Deklaration einschließlich Arraygröße und Funktionsparameter sowie quadratische Klammern verwendet [].

Im Schleifenteil verwenden Anzeige (num) Wir nennen die ursprüngliche Funktion, indem wir ein Array als Argument übergeben. Hier num repräsentiert die erste Elementspeicheradresse.

Ausgang

Das Ausgabefenster zeigt die Elemente des Array nacheinander. Verwenden einer für die Schleife alle 5 Elemente des Arrays werden an die Funktion übergeben.

Abschluss

Die Arduino -Programmierung wie C ++ erlaubt nicht zu, ein ganzes Array an eine Funktion zu übergeben. Wenn wir jedoch einen Zeiger auf ein Array verwenden, können wir den Namen des angegebenen Arrays einfach an eine Funktion übergeben, die alle Arrayelemente vollständig übergeben können. Es werden drei verschiedene Syntaxe eingehalten, um ein Array zur Funktion zu übergeben. Mit dieser Beschreibung können Sie jedes Array übergeben, um in der Arduino -Skizze zu funktionieren.