jOODER!!! Muchas gracias a los dos. Sois unos fieras.
He estado probando y mirando un pokillo el CCS.
Cambie algunas cosas porque no se definian igual que en C2C.
#include <12C508A.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES INTRC //Internal RC Osc
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOMCLR //Master Clear pin enabled
#use delay(clock=20000000)
////////AQUI ME DA ERROR EXPECTING AN IDENTIFIER EN TYPEDEF INT8 BOOLEAN
typedef int8 boolean ;// lo sacamos fuera dl main
#define GP1 output_pin_port_a( 1 );// Declaramos lo que es GP1 y GP2
#define GP2 output_pin_port_a( 2 );
void main(void) {
boolean GP3;// Descripcion de variables
boolean GP4;
boolean GP5;
while(1) // Ejecutar un bucle que se repite de forma indefinida
{ while (!input_pin_port_a( 0 )){}; // Se cierra en el 2º bucle si A0 = 0 y espera a que valga 1
GP3= input_pin_port_a( 3 ); // Leemos GP4= input_pin_port_a( 4 );
GP5= input_pin_port_a( 5 );
if (GP3==0 && GP4==0 && GP5==0) { GP1=0;GP2=0;}
else if (GP3==0 && GP4==0 && GP5==1) { GP1=0;GP2=1;}
else if (GP3==0 && GP4==1 && GP5==0) { GP1=1;GP2=1;}
else if (GP3==0 && GP4==1 && GP5==1) { GP1=0;GP2=1;}
else if (GP3==1 && GP4==0 && GP5==0) { GP1=1;GP2=0;}
else if (GP3==1 && GP4==0 && GP5==1) { GP1=0;GP2=0;}
else if (GP3==1 && GP4==1 && GP5==0) { GP1=1;GP2=0;}
else if (GP3==1 && GP4==1 && GP5==1) { GP1=1;GP2=1;}
endif }
if (GP0==0) { GP1=0;GP2=0;}// para cambiar el estado de gp0.
// quiero las salidas GP1 y GP2 a 0 cuando GP0=0
} // Cerramos en main
Sabeis a que se debe? Y por cierto... existe algun libro para programacion de microcontroladores en c. Si me podeis aconsejar alguno? GRACIAS!!