Arduino - istruzione switch case

Simile alle istruzioni if, switch...casecontrolla il flusso dei programmi consentendo ai programmatori di specificare diversi codici che dovrebbero essere eseguiti in varie condizioni. In particolare, aswitch L'istruzione confronta il valore di una variabile con i valori specificati in casedichiarazioni. Quando viene trovata un'istruzione case il cui valore corrisponde a quello della variabile, viene eseguito il codice in tale istruzione case.

Il breakparola chiave fa uscire l'istruzione switch e viene tipicamente utilizzata alla fine di ogni caso. Senza un'istruzione break, l'istruzione switch continuerà a eseguire le seguenti espressioni ("caduta") fino a quando non viene raggiunta un'interruzione o la fine dell'istruzione switch.

Cambia la sintassi dell'istruzione case

switch (variable) { 
   case label:
   // statements
   break;
}

case label: { 
   // statements
   break;
}

default: { 
   // statements
   break;
}

Switch Case Statement Execution Sequence

Esempio

Ecco un semplice esempio con switch. Supponiamo di avere una fase variabile con solo 3 stati diversi (0, 1 o 2) e una funzione (evento) corrispondente per ciascuno di questi stati. È così che potremmo passare il codice alla routine appropriata -

switch (phase) {
   case 0: Lo(); break;
   case 1: Mid(); break;
   case 2: Hi(); break;
   default: Message("Invalid state!");
}