Ok, gracias por la aclaración, ya mismo lo estoy implementando a ver qué passa con la AND :
if(input(PIN_B0) && input(PIN_B1) && input(PIN_B2)){ // Todas a '1' para cumplir AND
output_high(PIN_B3);
output_high(PIN_B4);
}else{ // De lo contrario, todas las salidas a cero.
output_low(PIN_B3);
output_low(PIN_B4);
}
pero también quiero hacer funciones lógicas que "si tienen en cuenta todos los niveles lógicos y activan salidas según las combinaciones de "0's" y "1's" por ejemplo : que tal si quiero que una salida se active a la combinación de las entradas A,B,Cy D con estas características:
A=0, B=1, C=1 ,D=0;
Mis problemas eran respectivamente: con la AND, fácilmente me enciende después de que pongo a uno sus tres entradas:
///////////////////////////////////////////
void main() {
set_tris_b(0x07);
disable_interrupts(GLOBAL);
do{
if (input (pin_b0)) // entrada 1
if (input (pin_b1)) // entrada 2
if (input(pin_b2)){ //entrada 3
output_high(pin_b3); //salida 1
output_high(pin_b4); //salida 2
}
} while(true);//bucle
}
///////////////////////////////////////
Pero no las baja cuando yo bajo alguna entrada.
Y la otra es, como implementar digamos una función lógica como esta, por ejemplo:
X(salida) = 1 cuando A(entrada)=0;B(entrada)=1;C(entrada)=1;D(entrada)=0; ó cuando
a=0;B=0;C=1;D=0;
Es todo, gracias por su paciencia y ayuda que seguro me dará luces.
if(input(PIN_B0) && input(PIN_B1) && input(PIN_B2)){ // Todas a '1' para cumplir AND
output_high(PIN_B3);
output_high(PIN_B4);
}else{ // De lo contrario, todas las salidas a cero.
output_low(PIN_B3);
output_low(PIN_B4);
}
pero también quiero hacer funciones lógicas que "si tienen en cuenta todos los niveles lógicos y activan salidas según las combinaciones de "0's" y "1's" por ejemplo : que tal si quiero que una salida se active a la combinación de las entradas A,B,Cy D con estas características:
A=0, B=1, C=1 ,D=0;
Mis problemas eran respectivamente: con la AND, fácilmente me enciende después de que pongo a uno sus tres entradas:
///////////////////////////////////////////
void main() {
set_tris_b(0x07);
disable_interrupts(GLOBAL);
do{
if (input (pin_b0)) // entrada 1
if (input (pin_b1)) // entrada 2
if (input(pin_b2)){ //entrada 3
output_high(pin_b3); //salida 1
output_high(pin_b4); //salida 2
}
} while(true);//bucle
}
///////////////////////////////////////
Pero no las baja cuando yo bajo alguna entrada.
Y la otra es, como implementar digamos una función lógica como esta, por ejemplo:
X(salida) = 1 cuando A(entrada)=0;B(entrada)=1;C(entrada)=1;D(entrada)=0; ó cuando
a=0;B=0;C=1;D=0;
Es todo, gracias por su paciencia y ayuda que seguro me dará luces.
Última edición: