A függvényeket bizonyos műveletek végrehajtására használjuk. Használjunk funkciókat ha egy kódrészletet többször kell használni a programban, átláthatóbbá és tömörebbé teszi a kódot. A függvények használatával a kód olvashatóbb lesz.
A megírt funkciót könnyen átmásolhatjuk és használhatjuk egy másik programunkban, ezáltal hordozható vagy újrafelhasználható is a függvény. A funkciók használatával egyszerűbb a hibakeresés, és csökken a program módosításaiból eredő hibák esélye is.
Két alapvető funkció van egy arduino vázlatban, a setup () és a loop (). Ezek nélkül nem készíthetünk arduino kódot. Egyéb funkciókat ezen a két függvényen kívül kell deklarálni.
A függvény szintaxisa:
void myFunction(paraméter1, paraméter2)
{
// kódblokk
}
A myFunction a függvény neve. A zárójelben lévő paraméterek a funkciónak átadott értékek, vesszővel elválasztva több paramétert is megadhatunk. A paramétert nem kötelező megadni, előfordul, hogy egy függvény csak egy bizonyos dolgot hajt végre. A függvény kódblokkjában lévő kód határozza meg hogy a függvénynek mit kell tennie.
void myFunction()
{
Serial.println("Hello World");
}
A void adattipus a függvény neve előtt azt jelenti, hogy a függvénynek nincs visszatérési értéke. Az adattípust természetesen a visszatérési értéknek megfelelően kell megadni, pl ha a függvény számot ad vissza az adattípusa int lesz.
int myFunction(int param1, int param2)
{
int num3 = param1 + param2;
return num3;
}
Függvényünket deklarálhatjuk a setup() és loop() funkciók előtt.
int myFunction(int param1, int param2)
{
int num3 = param1 + param2;
return num3;
}
void setup()
{
}
void loop()
{
}
A függvényünket megírhatjuk a setup() és loop() szekciók után is, de felettük egy úgynevezett függvény prototípust létre kell hozni.
A függvény prototípus a funkció visszatérési érték adattípusából, a függvény nevéből, és a paraméter(ek) adattípusából (ha van ilyen) áll. A függvény prototípusát a sorvégi pontosvesszővel (;) le kell zárni.
int myFunction(int, int);
void setup()
{
}
void loop()
{
}
int myFunction(int param1, int param2)
{
int num3 = param1 + param2;
return num3;
}
A függvények nem hajtódnak végre automatikusan a program futása közben, csak ha meghívjuk őket. Az alábbi példa bemutat egy függvényhívást.
void myFunction()
{
Serial.println("Hello World");
}
void setup()
{
Serial.begin(9600);
}
void loop()
{
myFunction();
}
Egy függvény többször is meghívható, más paraméterekkel is.
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);
}
A következő részben megvizsgáljuk a megszakításokat.


