# Equivalente de EQU en lenguaje C



## damianj84 (Ene 1, 2008)

Buenasss les hago una consulta:

¿Existe algo parecido al EQU que hay en Assembler, pero en C ?

Cuando programo en Assembler y por comodidad uso la directiva EQU.
Supongamos que tengo un LCD que tiene un pin de ENABLE. En vez de referirme al pin del puerto del micro que yo conecto al pin ENABLE del LCD (o sea en vez de poner "bset 5,PTB", por ejemplo) pongo "ENAB EQU 5" en una línea al comienzo y en el resto del programa me refiero a ese bit del puerto así: "bset ENAB,PTB"

Pero trabajando en C..... existe algo semejante? Sé que es una pavada, pero me simplifica cuando manejo varias señales si me guío con el nombre de las señales y no con numerillos...

Desde ya gracias! Y perdón si soy complicado explicando...


----------



## PICMIND (Ene 1, 2008)

Hola damianj84. Para tu fortuna SI EXISTE ese equivalente, lo que hacias en assembler ahora lo haces en C d ela siguitne forma:

#bit X=5.0

Ahora el pin RA0 se llama X, en caso de que fuera RA1 el numero sería 5.1 y RB0 6.0 y así sucesivamente.

Espero que todo te halla quedado claro y suerte con tuts programas.


----------



## f_point (Ene 1, 2008)

Adicionalmente a la alternativa de PICMIND, puedes usar la directiva #define, la cual es estandar y por lo tanto es aceptada por cualquier compilador de C.

Por ejemplo:

ENAB EQU 5

Puede traducirse a:

#define ENAB pin_B5

Y luego, en CCS podrias escribir:

output_low(ENAB);    //Pone en bajo el pin Enable
output_high(ENAB);   //Pine en alto el pin Enable

Ambas alternativas son muy utiles, prueba ambas y mira cual te te sienta mejor.

Saludos.


----------



## damianj84 (Ene 2, 2008)

Muchas gracias PICMIND y f_point por sus respuestas!

Intenté de las dos maneras pero lo conseguí con la segunda, escribiendo por ejemplo #define ENAB PTB_PTB5. Del primer modo no me reconoce el comando #bit.

No les comenté que estoy intentando programar Motorola con el Code Warrior, seguramente este compilador no me permite hacerlo del primer modo.

Una vez mas muchas gracias a ambos! Saludos y suerte!


----------



## mydogshadow (Jun 7, 2010)

naguaraaaaaaa muchas gracias mis panas tenia tiempo con la duda de como hacerlo lo habia intentado pero la sintaxis q use para probar no era correcta

#define pin_d0 Q1
 por ejemplo y al compilar me decia q desconocia a Q1 jejeje
muchas gracias!!!!


----------

