TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Marttyn en 31 de Octubre de 2008, 03:39:36
-
Hola!
Se que esta puede parecer la tipica pregunta de novato (lo soy :mrgreen:) sobre como integrar CCS al MPLAB, pero no lo es! de hecho llevo varias horas paseando por el foro, el buscador, google y los archivos de ayuda de ambos programas, pero nada.
El tema es que tengo integrado el ccs al mplab, y este es el primer proyecto que hago con el.
El problema ocurre cuando quiero compilar un proyecto que consta del codigo en un archivo "principal", y otro archivo separado que es una libreria para manejar una eeprom externa, modificada. Le doy a compilar y el archivo principal me lo genera sin problemas, pero la libreria no. dice esto:
*** Line 24: Error #12: Undefined identifier -- output_float
*** Line 25: Error #12: Undefined identifier -- output_float
*** Line 26: Error #12: Undefined identifier -- delay_us
*** Line 29: Error #12: Undefined identifier -- i2c_start
*** Line 30: Error #12: Undefined identifier -- i2c_write
*** Line 31: Error #12: Undefined identifier -- i2c_write
*** Line 32: Error #12: Undefined identifier -- i2c_write
*** Line 35: Error #12: Undefined identifier -- i2c_write
*** Line 36: Error #51: A numeric expression must appear here
*** Line 39: Error #12: Undefined identifier -- i2c_stop
tengo el include en el archivo principal que me remite a esta libreria "24128.C" (entre comillas porque al estar modificada la tengo en el mismo directorio que el codigo principal)
Compilando EXACTAMENTE EL MISMO programa en CCS no me da problemas.
pero si SOLO compilo la libreria con CCS, me da tambien los errores mencionados arriba...
por lo que me da a entender que el MPLAB no me considera la libreria como parte del proyecto, sino que la compila aparte... ¿?
Por cierto, tengo el mplab 8.1, que por lo visto ya trae CCS integrado... pero viendo que no me funcionaba instale igualemente el plugin para integrar el ccs al mplab... pero sigue sin funcionar...
Alguna ayudita? :(
-
:cry:
nadie?
-
No debes tratar de compilar los .h, el mplab los linkea correctamente cuando compilas el .c
-
hola pablo!
no es un header, la libreria es una libreria de ccs para manejar memorias eeprom I2C.
-
coloca en el post los archivos para ver si te lo podemos solucionar
-
Amigo pablo, te hice caso y no compile el driver para la eeprom, Y FUNCIONO! :-)
GRACIAS!! :-/
Lo que hice fue quitarle el archivo "24128.C" de la carpeta "Source files" en el mplab. como tu decias, no la compila directamente, sino que lo hace a traves del include correspondiente.
La duda que me surge ahora es, en que carpetita deberia ir ese archivo para que no intente compilarlo? porque si quiero editar ese archivo desde mplab, ahora no puedo, porque ya no forma parte del proyecto, pero si lo agrego, se coloca solo en la carpeta "source files", y ahi es donde da problema :?
Salu2
-
Debes colocarlo en Others Files, y luego colocar el #include ... correspondiente en el main.
-
Clap Clap Clap :D
Mil gracias amigo pablo! Ahora funciona! :mrgreen:
La verdad que esta muy bien esto del MPLAB! me encanta el Stop Watch para hacer el PWM de los servos! Eso si, tengo que admitir que tener TODO expuesto en el debug hace que me devane los sesos quitando y poniendo "ciclos" de aqui y alli para tener tiempo EXACTOS :-)
Eso si, mis servos ahora seran mas felices :g)
Salu2 y gracias nuevamente