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.