Foros de Electrónica

Comunidad de discusión sobre Automatización, Electrónica industrial, Microcontroladores y electrónica digital, Robótica, Domótica, Telemática, Tecnologías móviles, y muchos temas más.




Equivalente de EQU en lenguaje C


       



#1  Equivalente de EQU en lenguaje C
damianj84
Registrado: 10 Dic 2007
Mensajes: 13
citar
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...

#2  
PICMIND
Ubicación: Colombia
Registrado: 17 Jul 2007
Mensajes: 78
citar
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.

#3  
f_point
Registrado: 10 Dic 2007
Mensajes: 82
citar
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.

#4  
damianj84
Registrado: 10 Dic 2007
Mensajes: 13
citar
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!

 Responder



 Otros temas de interés 
No hay mensajes nuevos Como separar señales, si son entrada y salida de datos
No hay mensajes nuevos Multiplexador para 200 señales Analogicas
No hay mensajes nuevos Muestreador de señales
No hay mensajes nuevos amplificador de señales
No hay mensajes nuevos Como escoger entre un conjunto de 3 señales u otro

Foros de Electronica
|| Cuestiones Elementales de Electrónica || Fuentes de alimentacion || Circuitos de radio || Diseño de circuitos en general ||
|| Sistemas de Audio: Preamplificadores, Ecualizadores || Amplificadores || Reparación || Discusión ||
|| Microcontroladores y sistemas embebidos || Circuitos logicos combinacionales y secuenciales || Interfaces y Programacion || Dudas en general || Sistemas de Video || PC Hardware || Telematica y comunicaciones || Tecnologias moviles || Software Electronico || Robotica, Domotica y Mecatronica || Autotrónica || Automatizacion, Electronica industrial y de Potencia || Documentacion, circuitos y esquemas || Donde Las Ideas Convergen... || Tutoriales y Manuales || Proyectos Prácticos ||
Contacto | Acerca de | Ayuda | Normas de la Comunidad | Privacidad | Mapa de los foros
© Foros de Electrónica - Comunidad Internacional de Electrónicos