Autor Tema: Problemas con la compilación en Xc8, programa que funcionaba perfectamente ya no  (Leído 3630 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado BADAJOSsoldier

  • PIC10
  • *
  • Mensajes: 9
Buenas noches, tengo un problema que ya despues de mirar por todos los lados no consigo comprender que me está pasando y no veo ya por donde tirar....
No soy ningún experto, fui estudiante de electronica a nivel de tecnico, ahora me dedico al mantenimiento industrial, por lo que se puede decir que es un hobby para mi el tema de microcontroladores y voy creando poco a poco mis proyectos, por lo que hay cosas que se me escapan.
El resumen de mi problema es que desde hace unos días estoy teniendo problemas con el compilador, me está haciendo cosas rarísimas. Me empiezan a dar problemas de que no reconoce las constantes del PIC, duplicado de  funciones....y cosas asi. Incluso proyectos que me funcionaban y que he probado en circuito ahora no me compilan porque me está dando problemas de contantes del PIC, sobre todo.
Antes también me pasaba alguna vez, con cerrar Mplab y volver a abrir se solucionaba el problema, pero ahora nada de nada....
Mi proyecto se basa en un PIC16F887, en XC8, y he actualizado a la ultima versión de MPLAB X IDE v6.00 C90 (con el C99 tambien me da el problema) por si era un problema de versión, pero nada....sigo con el mismo problema. Con la V5.50 me pasaba lo mismo, asi que no he solucionado nada.
El proyecto que estoy haciendo se basa en un sistema de riego automático y estaba haciendo unas pruebas de I2c con un sensor de temperatura (que me funcionaba perfectamente) y ahora cuando empezaba a probar el sensor de humedad me ha empezado el problema....y ya no me funciona el de temperatura que si que me funcionaba. Además, uso una librería de LCD para 4 bits creada por mi para visualizar en un LCD.
No se si he tocado algo en la configuración o yo que se....pero esto ya es una hartura ....no se que hacer.... Agradecería alguna información que me guiara un poco a la solución de mi problema.

Le pido perdón por mi forma de programar....se que soy un novato, seguro que hay ciertas cosas que se harían mejor de otra manera, pero de momento llego hasta donde llego, pero darme tiempo  :o

Adjunto los archivos, la libreria y el .C de los 2 programas que uso. El TC78 me funcionaba perfectamente el otro es el que estaba empezando a trabajarlo...por lo que a lo mejor hay cosas que aun no están bien optimizadas.

Si hay alguna cosa que me falte por adjuntar me decis.
Muchas gracias por su tiempo y por compartir sus conocimientos.

Desconectado BADAJOSsoldier

  • PIC10
  • *
  • Mensajes: 9
Perdon, me olvide de colocar el resultado de la compilacion.
Por si da alguna ayuda a los expertos.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Ademas de los warnings...

El error es porque el registro se llama SSPCON, no se llama SSPCON1.

Otra cosa... todos los warning y errores están en el archivo prueba_sensor.c

Desconectado BADAJOSsoldier

  • PIC10
  • *
  • Mensajes: 9
Gracias por contestar KillerJc,
Respecto al SSPCON1 ese programa ya me ha funcionado en su dia con ese nombre del PIC...por lo que me imagino que es asi.
Respecto a los warning acabo de volverme loco... ,¿por que me sale la compilacion de otros archivos de otros proyectos??? ahora si que no entiendo nada.... Estoy haciendo pruebas, y estoy viendo que me salen errores de otros archivos de otros proyectos.... Y por que hace esto ahora??
Yo normalmente suelo tener ahi los proyectos y voy colocando como set main los que quiero ir trabajando. Me suponia que al hacerlo asi solo deberia trabajarse el proyecto el cuestion y no los otros.... Quizás estoy haciendo algo mal? Alguna idea ? Muchas gracias de antemano.

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
 Me paso algo parecido con las interrupciones, cambio la sintaxis , corrigiendo eso todo salió perfecto , es extraño  que te indique error de nombre de registros , esos casi no los modifican pero puedes revisar los cambios que han surgido con la nueva versión, si te da problemas con el nombre de registro intenta escribir el registro y luego CTRL + SPACE y te aparecen las sugerencias.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Mmmm primero que no veo casi nada en la imagen que pusiste, luego dice que se "redefine", por lo que imagino que algun problema con includes debe haber.

En el archivo: i2cTC78.c tenes:

Código: C
  1. #include <xc.h>
  2. #include <pic16f887.h>

Que solo el xc.h es necesario, ya que ese te agrega el pic16f887.h, así que ahí estarías repitiendo (redefiniendo).

El archivo lcd_4bits.h, tiene código, esta mal tener un archivo .h con código ejecutable en vez de definiciones.
El archivo i2cTC78.c y el archivo i2cSHT21.c ambos poseen los FUSES, están repetidos, no entiendo porque los tenes en ambos.
El archivo i2cTC78.c tiene un include a lcd_8bits.h, el i2cSHT21.c al lcd_4bits.h
Los archivos i2cTC78.c y i2cSHT21.c ambos poseen una funcion main, y los tenes en el mismo proyecto...

Tampoco encuentro includes a cabeceras que unan estos archivos y menos alguno con el archivo prueba_sensor.c


En resumen el problema es la programación y el linkeado de archivos.

« Última modificación: 14 de Marzo de 2022, 20:43:30 por KILLERJC »

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Parece que estás queriendo abrir un antiguo proyecto hecho en C18 y compilarlo con XC8.

Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado BADAJOSsoldier

  • PIC10
  • *
  • Mensajes: 9
Buenas, de momento no he usado nunca el C18 solo el XC8.
Utilizando Control + Alt  solo me salen sugerencias de funciones mias....
Lo que me está mosqueando que está teniendo en cuenta arichivos de proyectos que no tengo en e mio actual....la cosa es, por que?
Quizás haya hecho alguna cosa que no debia....y lo estoy pagando ahora, porque esto es rarisimo....
Voy a probar a crear un proyecto nuevo sin que tengan libreria comunes....no vaya a ser que tenga algún problema por ese cauce.
Killer, ek pic16f887 lo coloque por probar, porque me daba la sensacion que no encontraba con el xc.h. Ya era probar por probar.
Los archivos i2cTC78.c y el archivo i2cSHT21.c , los tenía los 2 metidos para tener los 2 a la vista, pero cuando compilo uno de los 2 siempre utilizo la opcion Exclude files from current configuration, porque creia que así el compilador no lo iba a tener en cuenta.
Creo que mi problema es algún concepto mal aderido que creyendo que está bien lo estoy haciendo mal....Y me están viniendo por ahi los problemas....Voy a probar proyecto nuevo y sencillito para saber si al menos hace bien uno facil.
Gracias por los aportes ¡ Un saludo amigos.¡


Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Buenas, de momento no he usado nunca el C18 solo el XC8.
Utilizando Control + Alt  solo me salen sugerencias de funciones mias....
Lo que me está mosqueando que está teniendo en cuenta arichivos de proyectos que no tengo en e mio actual....la cosa es, por que?
Quizás haya hecho alguna cosa que no debia....y lo estoy pagando ahora, porque esto es rarisimo....
Voy a probar a crear un proyecto nuevo sin que tengan libreria comunes....no vaya a ser que tenga algún problema por ese cauce.
Killer, ek pic16f887 lo coloque por probar, porque me daba la sensacion que no encontraba con el xc.h. Ya era probar por probar.
Los archivos i2cTC78.c y el archivo i2cSHT21.c , los tenía los 2 metidos para tener los 2 a la vista, pero cuando compilo uno de los 2 siempre utilizo la opcion Exclude files from current configuration, porque creia que así el compilador no lo iba a tener en cuenta.
Creo que mi problema es algún concepto mal aderido que creyendo que está bien lo estoy haciendo mal....Y me están viniendo por ahi los problemas....Voy a probar proyecto nuevo y sencillito para saber si al menos hace bien uno facil.
Gracias por los aportes ¡ Un saludo amigos.¡

Ya son muchos años que no trabajo con los microcontroladores de 8 bits, utilizaba C18 y luego migre al PIC32 con su C32 y actualmente ocupo el XC32.

Y me pasó algo similar a tu problema hace pocos meses atrás.

Resulta que migraron a una nueva versión de lenguaje C al XC32. Es decir yo tenía varios proyectos realizados con XC32 v 2.50, cuando cambié a la versión 3.00, me sorprendió que aparecieron muchos warnings y errores al compilar.

Buscando en el foro en inglés, había muchos con ese tipo de problema y era que habían cambiando muchos conceptos, tanto en la estructura del lenguaje como en el nombre de algunos registros.

En mi caso la solución fue abrir el MHC con las debidas actualizaciones de Harmony 3 y regenerar el proyecto y de esa manera se crea un código que es compatible tanto si utilizas la versión 2.50 o las superiores (3.00, 3.01 y 4.00) sin conflictos.

Para aquellos proyectos generados con Harmony 2, no queda más solución que seguir usando la versión 2.50 del compilador, no hay migración a las nuevas versiones del compilador.

No se si este tipo de actualización del lenguaje C afectó también al XC8 y al XC16, pero tal vez sea ese tu problema. Tal vez debas usar una versión viejita de XC8 o si utilizas el MCC, tal vez deberías regenerar tu código.



« Última modificación: 15 de Marzo de 2022, 20:02:33 por DominusDRR »
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado remi04

  • PIC24F
  • *****
  • Mensajes: 657
Si fijas Main Project otro distinto, ¿compila bien los demás?.

  A las malas, crea un proyecto nuevo y haz copy/paste de todo el código.

Desconectado Eduardo2

  • PIC24H
  • ******
  • Mensajes: 1004
Re:Problemas con la compilación en Xc8, programa que funcionaba perfectamente ya no
« Respuesta #10 en: 16 de Marzo de 2022, 17:50:29 »
... Incluso proyectos que me funcionaban y que he probado en circuito ahora no me compilan ...

No puedo creer que con esta sintaxis alguna vez te haya compilado
Código: [Seleccionar]
    while (¡SSPIF);
(en i2cTC78.c línea 155  y hay mas)

Desconectado BADAJOSsoldier

  • PIC10
  • *
  • Mensajes: 9
Re:Problemas con la compilación en Xc8, programa que funcionaba perfectamente ya no
« Respuesta #11 en: 16 de Marzo de 2022, 19:29:11 »
JOOOOOODER....vale, ahora si que me voy a para a organizar todo este potingue que tengo.....
Tienes toda la razón ....con  (  ¡  ) no va....ese error lo corregi en su día va con (   !   ), siento que hayas tenido que ver eso...
Necesito unos días para organizar esto, porque veo que ni se me han guardado las ultimas correcciones.
Darme unos dias y os cuento.
Un saludo
Y gracias¡

Desconectado BADAJOSsoldier

  • PIC10
  • *
  • Mensajes: 9
Re:Problemas con la compilación en Xc8, programa que funcionaba perfectamente ya no
« Respuesta #12 en: 24 de Abril de 2022, 15:38:15 »
Vale,,,,ya he visto donde tenia el problema.... y me he quedado flipando....
Resulta que había creado una carpeta para meter todos mis proyectos, y el problema me venía a que el nombre de dicha carpeta tenia espacios....y por lo visto MPlab no deja que la ubicacion contengaespacios en blanco.... (vaya chorrada que si uno no sabe el tiempo que le puede llevar).
El que no sabe es como el que no ve....
Gracias por los aportes¡¡

En principio se me ha solucionado el problema. :)


 

anything