Arduino - declaración de caso de switch

Similar a las declaraciones if, switch...casecontrola el flujo de programas permitiendo a los programadores especificar diferentes códigos que deben ejecutarse en diversas condiciones. En particular, unswitch sentencia compara el valor de una variable con los valores especificados en la casedeclaraciones. Cuando se encuentra una declaración de caso cuyo valor coincide con el de la variable, se ejecuta el código en esa declaración de caso.

los breakLa palabra clave hace que la instrucción de cambio salga y se usa normalmente al final de cada caso. Sin una instrucción de interrupción, la instrucción de cambio continuará ejecutando las siguientes expresiones ("fallando") hasta que se alcance una interrupción o el final de la instrucción de cambio.

Cambiar la sintaxis de la instrucción de caso

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

case label: { 
   // statements
   break;
}

default: { 
   // statements
   break;
}

Secuencia de ejecución de instrucción de caso de conmutación

Ejemplo

Aquí hay un ejemplo sencillo con switch. Supongamos que tenemos una fase variable con solo 3 estados diferentes (0, 1 o 2) y una función correspondiente (evento) para cada uno de estos estados. Así es como podríamos cambiar el código a la rutina adecuada:

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