User manual

De Arduino microcontroller
Pagina 7
functies
Een functie is een blok met code dat een naam heeft gekregen en waarin instructies
staan die uitgevoerd moeten worden wanneer de functie aangeroepen wordt. De
functies void setup() en void loop() zijn al genoemd, maar andere functies kunnen
ook. Er zijn ook op maat gemaakte functies die de het aantal opdrachten in een
programma reduceren, waardoor het geheel overzichtelijker is.
Functies moeten eerst gedeclareerd worden in hun type.
Dat ziet er als volgt uit:
type functionName(parameters)
{
statements;
}
Een voorbeeld: De volgende type integer fuctie delayVal() wordt gebruikt om een
vertraging in te bouwen bij het uitlezen van een waarde van een aangesloten
potentiometer. Als eerste wordt een locale variabele v gedeclareerd die vervolgens
een waarde krijgt tussen 0 en 1023. In een volgende regel is een functie v /=4; Hier
wordt v door 4 gedeeld omdat de maximale waarde in een byte 255 kan zijn. Met
de return opdracht gaat het programma terug naar zijn hoofdprogramma.
int delayVal()
{
int v; // maak een tijdelijke variabele 'v'
v = analogRead(pot); // lees de potentiometer waarde
v /= 4; // converter 0-1023 naar 0-255
return v; // return definitieve waarde
}
{ } krullende haakjes (accolade)
Krullende haakjes geven het begin of het einde aan van een functieblok zoals je ook
tegenkomt bij de void loop(). Kijk maar:
type functie()
{
statements;
}
Het eerste opende accolade (gekrulde haakje) { moet altijd afgesloten worden door
een (gekruld gesloten) accolade }. Het aantal accolades is dus altijd een even
getal. Let daar goed op want één accolade te weinig en een heel programma kan
stoppen met werken. Vind dan de ontbrekende accolade maar eens terug.