Arduino - Funzioni
Le funzioni consentono di strutturare i programmi in segmenti di codice per eseguire singole attività. Il caso tipico per la creazione di una funzione è quando è necessario eseguire la stessa azione più volte in un programma.
La standardizzazione dei frammenti di codice in funzioni presenta diversi vantaggi:
Le funzioni aiutano il programmatore a rimanere organizzato. Spesso questo aiuta a concettualizzare il programma.
Le funzioni codificano un'azione in un punto in modo che la funzione debba essere pensata e debug solo una volta.
Ciò riduce anche le possibilità di errori di modifica, se il codice deve essere modificato.
Le funzioni rendono l'intero schizzo più piccolo e compatto perché le sezioni di codice vengono riutilizzate molte volte.
Rendono più facile riutilizzare il codice in altri programmi rendendolo modulare e l'uso delle funzioni spesso rende il codice più leggibile.
Ci sono due funzioni richieste in uno sketch di Arduino o in un programma, ovvero setup () e loop (). Altre funzioni devono essere create al di fuori delle parentesi di queste due funzioni.
La sintassi più comune per definire una funzione è:
Dichiarazione di funzione
Una funzione è dichiarata al di fuori di qualsiasi altra funzione, sopra o sotto la funzione loop.
Possiamo dichiarare la funzione in due modi diversi:
Il primo modo è semplicemente scrivere la parte della funzione chiamata a function prototype sopra la funzione loop, che consiste in -
- Tipo restituito dalla funzione
- Nome della funzione
- Tipo di argomento della funzione, non è necessario scrivere il nome dell'argomento
Il prototipo della funzione deve essere seguito da un punto e virgola (;).
L'esempio seguente mostra la dimostrazione della dichiarazione di funzione utilizzando il primo metodo.
Esempio
int sum_func (int x, int y) // function declaration {
int z = 0;
z = x+y ;
return z; // return the value
}
void setup () {
Statements // group of statements
}
Void loop () {
int result = 0 ;
result = Sum_func (5,6) ; // function call
}
La seconda parte, che si chiama definizione o dichiarazione della funzione, deve essere dichiarata sotto la funzione loop, che consiste in:
- Tipo restituito dalla funzione
- Nome della funzione
- Tipo di argomento della funzione, qui è necessario aggiungere il nome dell'argomento
- Il corpo della funzione (istruzioni all'interno della funzione in esecuzione quando la funzione viene chiamata)
L'esempio seguente mostra la dichiarazione di funzione utilizzando il secondo metodo.
Esempio
int sum_func (int , int ) ; // function prototype
void setup () {
Statements // group of statements
}
Void loop () {
int result = 0 ;
result = Sum_func (5,6) ; // function call
}
int sum_func (int x, int y) // function declaration {
int z = 0;
z = x+y ;
return z; // return the value
}
Il secondo metodo dichiara solo la funzione sopra la funzione loop.