TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: LuisGonzalez17 en 02 de Agosto de 2020, 15:17:46
-
Buenas tardes,
Estoy realizando un proyecto y utilizo un encoder para el manejo del Manú en el LCD. He buscado ejemplos del manejo del encoder con PIC y me encontré con un ejemplo muy bueno... mas o menos le entiendo a la mayoría del código pero me topé con una linea que no entiendo exactamente lo que hace:
.
.
.
int8 binario;
int8 entrada;
set_tris_a(0b11111);
while(true)
{
binario = entrada;
entrada = porta & 3; <---- Esta es la linea que no entiendo, no se que es lo que hace la "&"
.
.
.
}
Espero que me puedan ayudar, muchas gracias por leer y disculpen las molestias.
-
es una AND binaria... es decir hace una AND con el valor 3 decimal o 11b binario.
Eso lo hace para solo dejar los valores que le interesan. ejemplo Supongamos que PORTA sea 1101 1001 luego del AND:
1101 1001 - PORTA
0000 0011 - 3 en binario
------------------
0000 0001 Solo deja pasar lo que tengan los unos... lo demas es 0
-
Añadiendo al comentario de KILLER.
El carácter &(ampersand) es un operador de bits.
Al hacer una operación lógica entre dos números binarios A y B, también se le conoce cómo hacer máscara a A.