Arduino - declaração switch case

Semelhante às instruções if, switch...casecontrola o fluxo de programas permitindo que os programadores especifiquem diferentes códigos que devem ser executados em várias condições. Em particular, umswitch declaração compara o valor de uma variável com os valores especificados no caseafirmações. Quando uma instrução case é encontrada, cujo valor corresponde ao da variável, o código dessa instrução case é executado.

o breakpalavra-chave faz com que a instrução switch saia e é normalmente usada no final de cada caso. Sem uma instrução break, a instrução switch continuará executando as seguintes expressões ("fall-through") até uma pausa ou o final da instrução switch ser alcançado.

Mudar a sintaxe da instrução

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

case label: { 
   // statements
   break;
}

default: { 
   // statements
   break;
}

Sequência de execução de instrução de switch Case

Exemplo

Aqui está um exemplo simples com switch. Suponha que temos uma fase variável com apenas 3 estados diferentes (0, 1 ou 2) e uma função correspondente (evento) para cada um desses estados. É assim que poderíamos mudar o código para a rotina apropriada -

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