Hola a todos de nuevo, sigo intentando aprender C, y esta vez me he atrancado en un simple ejemplo. Deseo obtener por el puerto B las entradas invertidas del puerto A, pero estoy cometiendo algún error y no se cual es. El programa que utilizo es el siguiente:
///Por el Puerto B se obtiene el dato del Puerto A invertidos los unos y ceros. Por ejemplo,
///si por el Puerto A se introduce "---11001", por el Puerto B aparecerá "xxx00110" (no
///importa el estado de los tres bits superiores del Puerto B).
#include <16F84A.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES XT //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD
#FUSES PUT //Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#use delay(clock=4000000)
#use fast_io(B)
#use fast_io(A)
int inversa;
///PROGRAMA
void main (void)
{
do {
set_tris_a(0xFF);
set_tris_b(0x00);
output_b(!input_a());
}
while(true);
}
¿Qué hago mal?, de nuevo os doy a todos las gracias de antemano.