Tabla de contenido
El c贸digo presente utiliza un switch case
para determinar la acci贸n a realizar seg煤n el estado de dos entradas. Esto se logra leyendo el estado de los pines de entrada y utilizando operaciones bitwise para concatenar los valores de los bits correspondientes a Input_1
e Input_0
.
La concatenaci贸n de bits se realiza utilizando operaciones bitwise. Por ejemplo:
0bXXXXXXXX & 0b00000001 = 0b000000X
: Se obtiene el estado del bit 0.0bXXXXXXXX & 0b0000010 = 0b00000X0
: Se obtiene el estado del bit 1.0b000000X | 0b00000X0 = 0b00000XX
: Se concatenan los resultados de las operaciones anteriores para obtener un valor de dos bits.input_state = (INPUT_PINX & (1<<INPUT_1))|(INPUT_PINX & (1<<INPUT_0)) ; // Leer el estado de los pines de entrada
switch (input_state)
{
case 0: // 00
Statement(0);
break;
case 1: // 01
Statement(1);
break;
case 2: // 10
Statement(2);
break;
case 3: // 11
Statement(3);
break;
default:
// C贸digo para manejar un estado no esperado
break;
}