Arduino – Funktionen

Funktionen werden verwendet, um bestimmte Operationen auszuführen. Verwenden Sie Funktionen, wenn ein Codeausschnitt in einem Programm mehrmals verwendet werden muss, um den Code transparenter und prägnanter zu gestalten. Durch die Verwendung der Funktionen wird der Code besser lesbar.

Die geschriebene Funktion kann einfach kopiert und in einem anderen Programm verwendet werden, wodurch die Funktion portabel oder wiederverwendbar wird. Die Verwendung dieser Funktionen vereinfacht das Debuggen und verringert die Wahrscheinlichkeit von Fehlern aufgrund von Programmänderungen.

In einer Arduino-Gliederung gibt es zwei Grundfunktionen: setup() und loop(). Ohne diese können wir keinen Arduino-Code erstellen. Zusätzlich zu diesen beiden Funktionen müssen weitere Funktionen deklariert werden.

Syntax der Funktion:

void myFunction(parameter1, parameter2) 
{
   // Codeblock 
}

MyFunction ist der Name der Funktion. Die Parameter(n) in Klammern sind die an die Funktion übergebenen Werte. Sie können mehrere durch Kommas getrennte Parametern eingeben. Der Parameter ist optional, eine Funktion kann nur eine bestimmte Sache ausführen. Der Code im Codeblock der Funktion bestimmt, was die Funktion tun soll.

void myFunction() 
{
   Serial.println("Hello World");
}

Der ungültige Datentyp vor dem Funktionsnamen bedeutet, dass die Funktion keinen Rückgabewert hat. Natürlich muss der Datentyp gemäß dem Rückgabewert angegeben werden, z. B. wenn die Funktion eine Zahl zurückgibt, ist ihr Datentyp int.

int myFunction(int param1, int param2) 
{
  int num3 = param1 + param2;
  return num3;
}

Wir können unsere Funktion vor den Funktionen setup () und loop () deklarieren.

int myFunction(int param1, int param2) 
{
  int num3 = param1 + param2;
  return num3;
}
void setup()
{

}
void loop()
{

}

Wir können unsere Funktion auch nach den Abschnitten setup () und loop () schreiben, aber darüber muss ein sogenannter Funktionsprototyp erstellt werden.

Der Funktionsprototyp besteht aus dem Datentyp des Funktionsrückgabewerts, dem Funktionsnamen und dem Datentyp der Parameter (falls vorhanden). Der Prototyp der Funktion muss mit einem Semikolon (;) enden.

int myFunction(int, int);  // Funktionsprototyp 

void setup()
{

}
void loop()
{

}
int myFunction(int param1, int param2) 
{
  int num3 = param1 + param2;
  return num3;
}

Funktionen werden nicht automatisch ausgeführt, während das Programm ausgeführt wird, es sei denn, sie werden aufgerufen. Das folgende Beispiel zeigt einen Funktionsaufruf.

void myFunction() 
{
   Serial.println("Hello World");
}
void setup()
{
  Serial.begin(9600);
}
void loop()
{
  myFunction();
}

Eine Funktion kann mit anderen Parametern mehrmals aufgerufen werden.

int myFunction(int param1, int param2) 
{
  int num3 = param1 + param2;
  return num3;
}
void setup()
{
  Serial.begin(9600);
}
void loop()
{
  int myNum = myFunction(10, 22);
  Serial.println(myNum);

  int myNum = myFunction(20, 32);
  Serial.println(myNum);
}

Im nächsten Abschnitt gehen wir um die Arrays herum.