Saludos!
Hola de nuevo, he estado haciendo pruebas y lo del define si que funciona.
#define x pin_D0
Lo que ocurre es que esto funciona para poner a estado alto o bajo x por ejemplo con:
output_high(x);
output_low(x);
Asi funciona perfectamente.
Pero lo que yo quiero y no me funciona, es que el pin_D0 por poner un ejemplo por que podria ser cualquier otro pin.
Tengo conectado en proteus un pulsador al pin D0, y lo que quiero es que x siempre tenga el valor de este pulsador para poder compararlo en cualquier momento.
Saludos
Amigo juanez, si colocas #define x PIN_D0, esto no solo funciona para asignar valores, también funciona para hacer lo que tú quieres.
Verás, cuando se aplica esa sentencia, lo que estamos diciendole al compilador es que cada vez que el vea "x" en el programa, entienda que nos estamos refiriendo al pin declarado en el #define. Asi que en realidad "x" no existe, solo existe PIN_D0... el "x" es una simple ayuda visual al programador... pues si revisas el archivo .LST, donde se ve el código ASM generado por el compilador por cada instrucción de C, observarás que en las líneas donde escribiste "x" aparecerá "08.0", que es la dirección en el pic de esa pin en particular (RD0).
De manera que si tu quieres hacer por ejemplo "if(x==0)"... o cualquier otra comparación en cualquier momento, puedes estar seguro que lo que estarás diciendo es "if(PIN_D0==0)" o lo que hayas puesto. Es decir, en tu caso particular, "x" siempre tendrá el valor del pulsador, pues en realidad "x" es tu pulsador.
Espero haberme explicado bien, y haberte servido de algo.
Sigue probando y luego cuentas si pudiste resolver...
Nos leemos!