Wie kann man ein Array von der Funktion in Arduino zurückgeben

Wie kann man ein Array von der Funktion in Arduino zurückgeben
Arduino ist eine elektronische Plattform, die ein separates Werkzeug Arduino IDE verwendet, um Mikrocontroller -Boards zu programmieren. Wie C ++ - Arduino -Programmierung verwendet auch Arrays, um gleichzeitig mehrere Datenwerte zu speichern. Wenn wir über eine Variable als Speicherbehälter nachdenken, sind Arrays wie Container, aber mit Trennwänden, die mehrere Daten gleichzeitig speichern können. Arduino -Arrays werden zur Steuerung von LED -Matrixen, Tastaturen und LCD -Displays verwendet.

Arduino Return Array aus der Funktion

Da die Arduino -Boards mithilfe von C/C ++ - Sprache programmiert werden. Wir können jedoch ein Array aus einer Funktion zurückgeben, indem wir den Namen des Arrays ohne Index angeben.

Wir müssen eine Funktion deklarieren, die einen Zeiger zurückgibt, wenn wir ein eindimensionales Array aus der Funktion zurückgeben möchten. Der zweite Punkt zu beachten ist, dass die C -Sprache nicht zulässt, dass lokale Variablen Adressen außerhalb der Funktion zurückgeben. Daher sollten lokale Variablen als statisch deklariert werden, um einen Kompilierungsfehler zu vermeiden.

Beschreibung

Während das Programmieren von Arduino -Boards können ein Array mit einer bestimmten Größe initialisieren. Sobald das Array initialisiert wurde, kann sein Wert mit einer Funktion ersetzt werden. Dynamische Speicherzuweisung ist erforderlich, wenn wir ein Array zurückgeben möchten, das in einer Funktion initialisiert wird. Um dies zu tun malloc () Und frei() Funktionen können zusammen mit Zeigern in Arduino verwendet werden.

Das Problem besteht darin. Die beste Möglichkeit, ein Array aus einer Funktion zurückzugeben.

Lassen Sie uns eine Funktion erstellen, um die Werte eines Arrays zu ändern, indem Sie es mit einer konstanten Ganzzahlgröße initialisieren. Siehe den Code unten.

Beispielcode

const int size = 5; /*Arraygröße definiert*/
int array_new [Größe]; /*Neuarray ist definiert*/
void Array () /*Funktion zum Speichern von Arrays Wert* /

für (int i = 0; i<5;i++) /*for loop to store values in function*/

Array_New [i] = i;


void setup ()

Serie.Beginnen Sie (9600); /*Serielle Kommunikation beginnt*/
Array (); /*Array -Funktion heißt*/
für (int i = 0; i
Serie.println (array_new [i]); /*Array -Elemente werden gedruckt*/


void Loop ()

Im obigen Code wird ein Array mit konstanten Ganzzahlen initialisiert, da IDE einen Fehler anzeigt, wenn wir keine konstante Ganzzahl verwenden. Hier im angegebenen Array haben wir keine Werte gespeichert, sodass das Array mit Nullwerten initialisiert wird, aber wir können auch Werte im Array während der Initialisierung speichern.

Als nächstes haben wir die erstellt Array () Funktion mit Rückgabeart void, um Werte im Array zu speichern. Außerdem ist der Rückgabetyp ungültig, da wir nichts zurückgeben möchten, was wir nur für den Fall des Wertes für den Fall müssen, ob wir den Wert zurückgeben müssen int.

Nächste für Die Schleife wird verwendet, um Werte zu speichern, wir können jedoch auch Werte manuell speichern. Danach benutzt Serie.drucken() Die Ausgabe wird auf dem Serienmonitor gedruckt.

Ausgang

Ausgabe von Druckwerten von 0 auf 4, die ein Array aus einer Funktion zurückgeben:

Abschluss

Dieser Artikel deckt alle detaillierten Schritte ab, wie wir ein Array mit dem konstanten Ganzzahl -Datentyp initialisieren und den Wert darin speichern können. Später der Array () Die Funktion wird im Setup -Teil des Codes aufgerufen Rückgabebereich aus der Funktion zurückgeben.