Autor Tema: duda programa c en 16f84a  (Leído 1383 veces)

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

Desconectado vicopic8

  • PIC10
  • *
  • Mensajes: 29
duda programa c en 16f84a
« en: 12 de Marzo de 2023, 02:20:07 »
Buenas amigos, soy nuevo en el foro y no se si esta pregunta va aquí (yo creo que si) así que pregunto lo siguiente:

Estoy usando MPLAB X IDE v6.05 para hacer un programa en c que encienda y apague un led en un pic 16F84A-04 el cual hice al observar varios códigos por aquí en el foro. La cuestión es que al compilar no me aparece ningún error o mensaje de advertencia pero al momento de cargar el archivo .hex generado tras la compilación en proteus 8 Release 8.13 SP0 y simular el funcionamiento me aparecen unas advertencias que hablan sobre la   memoria EEPROM. No se si el programa en c este mal y al momento de compilar y generar el .hex algo se estropea ya que la simulación si funciona bien pero aparecen estos mensajes. He probado con otros programas diferentes hechos en ensamblador (usando MPLAB IDE v8.92 claro esta) y al simularlos, todo bien y sin mensajes de advertencia. ¿Sera que esta mal escrito el programa en c para el 16f84a?. Intente buscar un ejemplo en concreto para este pic pero no encontré, solo para pics como 16F84A-04.
¿Acaso los microcontroladores son el futuro?

Desconectado Eduardo2

  • PIC24F
  • *****
  • Mensajes: 965
Re:duda programa c en 16f84a
« Respuesta #1 en: 12 de Marzo de 2023, 03:39:58 »
Cliqueá Debug->Reset Persistent Model Data

Desconectado vicopic8

  • PIC10
  • *
  • Mensajes: 29
Re:duda programa c en 16f84a
« Respuesta #2 en: 12 de Marzo de 2023, 21:51:18 »
Ya hice los pasos que me comentas pero al momento de simular siguen apareciendo esos mensajes. mmmmmm, estoy preocupado y quisiera gravar este programa en el pic pero temo que pueda fallar por esos mensajes de advertencia. ¿Alguna idea?
¿Acaso los microcontroladores son el futuro?

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re:duda programa c en 16f84a
« Respuesta #3 en: 12 de Marzo de 2023, 22:29:39 »
Ya hice los pasos que me comentas pero al momento de simular siguen apareciendo esos mensajes. mmmmmm, estoy preocupado y quisiera gravar este programa en el pic pero temo que pueda fallar por esos mensajes de advertencia. ¿Alguna idea?

Lo que parece (tal vez estoy equivocado) es que estás generando el hexadecimal con el mapa de la memoria EEPROM (la cual parece mal direccionada).

Debe existir una opción vía código o mediante configuraciones del MPLAB, que cuando compile, no genere dicho mapa.
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado Eduardo2

  • PIC24F
  • *****
  • Mensajes: 965
Re:duda programa c en 16f84a
« Respuesta #4 en: 12 de Marzo de 2023, 22:39:28 »
He usado el Proteus 8.13 y el 8.15, en los dos vi errores en los breakpoints (los ignora) y en el manejo de la eeprom (no la recupera).  No me extrañaría que éste sea otro mas.
Al final volví a la 8.12 que por lo menos no tiene esos errores.

Esta es la ejecución de tu programa compilado con XC8 2.32 en Proteus 8.12
 

* GIF 12-3-2023 22-29-31.gif
(19.32 kB, 634x540 - visto 183 veces)

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re:duda programa c en 16f84a
« Respuesta #5 en: 12 de Marzo de 2023, 22:45:37 »
Son bastantes años que no trabajo con micros de 8 bits, pero tal vez esta imagen sea de ayuda (En tu caso estás usando el simulador en lugar del ICD3 que se indica en la imagen):



Más info:

https://microchipdeveloper.com/icd3:prevent-eeprom-data-memory-program
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado vicopic8

  • PIC10
  • *
  • Mensajes: 29
Re:duda programa c en 16f84a
« Respuesta #6 en: 12 de Marzo de 2023, 23:50:41 »
Son bastantes años que no trabajo con micros de 8 bits, pero tal vez esta imagen sea de ayuda (En tu caso estás usando el simulador en lugar del ICD3 que se indica en la imagen):



Más info:

https://microchipdeveloper.com/icd3:prevent-eeprom-data-memory-program

Ya hice el paso de desmarcar la casilla de EEPROM y al momento de simular en proteus siguen apareciendo los mensajes. Tal vez sea el proteus y solo me quedaría probar con una versión anterior del programa.
¿Acaso los microcontroladores son el futuro?

Desconectado vicopic8

  • PIC10
  • *
  • Mensajes: 29
Re:duda programa c en 16f84a
« Respuesta #7 en: 12 de Marzo de 2023, 23:53:47 »
He usado el Proteus 8.13 y el 8.15, en los dos vi errores en los breakpoints (los ignora) y en el manejo de la eeprom (no la recupera).  No me extrañaría que éste sea otro mas.
Al final volví a la 8.12 que por lo menos no tiene esos errores.

Esta es la ejecución de tu programa compilado con XC8 2.32 en Proteus 8.12
  - Tienes que ingresar para ver archivos adjuntos -

Puede que sea el proteus. Me faltaría probar con una versión anterior y ser si siguen los mensajes.
¿Acaso los microcontroladores son el futuro?

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re:duda programa c en 16f84a
« Respuesta #8 en: 13 de Marzo de 2023, 13:00:41 »
He usado el Proteus 8.13 y el 8.15, en los dos vi errores en los breakpoints (los ignora) y en el manejo de la eeprom (no la recupera).  No me extrañaría que éste sea otro mas.
Al final volví a la 8.12 que por lo menos no tiene esos errores.

Esta es la ejecución de tu programa compilado con XC8 2.32 en Proteus 8.12
  - Tienes que ingresar para ver archivos adjuntos -

Puede que sea el proteus. Me faltaría probar con una versión anterior y ser si siguen los mensajes.

¿Seguro estás compilando tu proyecto para el 16F84A? Parece que estuvieras compilando tu proyecto para el 16F84 (Sin letra A)
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado vicopic8

  • PIC10
  • *
  • Mensajes: 29
Re:duda programa c en 16f84a
« Respuesta #9 en: 14 de Marzo de 2023, 00:09:40 »
He usado el Proteus 8.13 y el 8.15, en los dos vi errores en los breakpoints (los ignora) y en el manejo de la eeprom (no la recupera).  No me extrañaría que éste sea otro mas.
Al final volví a la 8.12 que por lo menos no tiene esos errores.

Esta es la ejecución de tu programa compilado con XC8 2.32 en Proteus 8.12
  - Tienes que ingresar para ver archivos adjuntos -

Puede que sea el proteus. Me faltaría probar con una versión anterior y ser si siguen los mensajes.

¿Seguro estás compilando tu proyecto para el 16F84A? Parece que estuvieras compilando tu proyecto para el 16F84 (Sin letra A)

Si, es para el pic 16f84a. Tal vez lo que este mal es el proteus al momento de simular el circuito. Aun no encuentro solución a esto así que me preguntaba, independientemente de los mensajes de advertencia, ¿Habría algún problema si así grabo este programa en un pic?. Aun así seguiré intentando solucionarlo
« Última modificación: 14 de Marzo de 2023, 00:18:28 por vicopic8 »
¿Acaso los microcontroladores son el futuro?

Desconectado Eduardo2

  • PIC24F
  • *****
  • Mensajes: 965
Re:duda programa c en 16f84a
« Respuesta #10 en: 14 de Marzo de 2023, 09:03:13 »
...
Si, es para el pic 16f84a. Tal vez lo que este mal es el proteus al momento de simular el circuito. Aun no encuentro solución a esto así que me preguntaba, independientemente de los mensajes de advertencia, ¿Habría algún problema si así grabo este programa en un pic?. Aun así seguiré intentando solucionarlo
Problema ninguno, en el peor de los casos no funciona como debe.
Para comprobar si es el Proteus, subí el .hex y lo pruebo con el 8.12

Desconectado vicopic8

  • PIC10
  • *
  • Mensajes: 29
Re:duda programa c en 16f84a
« Respuesta #11 en: 14 de Marzo de 2023, 21:26:56 »
...
Si, es para el pic 16f84a. Tal vez lo que este mal es el proteus al momento de simular el circuito. Aun no encuentro solución a esto así que me preguntaba, independientemente de los mensajes de advertencia, ¿Habría algún problema si así grabo este programa en un pic?. Aun así seguiré intentando solucionarlo
Problema ninguno, en el peor de los casos no funciona como debe.
Para comprobar si es el Proteus, subí el .hex y lo pruebo con el 8.12

o entonce subo el archivo para ver la prueba. Disculpa la molestia compañero.
¿Acaso los microcontroladores son el futuro?

Desconectado Eduardo2

  • PIC24F
  • *****
  • Mensajes: 965
Re:duda programa c en 16f84a
« Respuesta #12 en: 15 de Marzo de 2023, 00:41:40 »
Da los mismos errores.

El problema con el Proteus es la 7ma línea del .HEX
Código: [Seleccionar]
:08400000FF3FFF3FFF3FFF3FC0
Lo que hace es escribir 0x3FFF en las 4 ID Locations.  No es un error, pero por lo visto a Proteus no le gusta.
--> Si grabás el PIC con eso no pasa nada y si borrás esa línea del .HEX tampoco (y desaparece el error)

Tal vez en los parámetros de compilación se pueda deshabilitar escribir las ID Locations... No lo sé.

Desconectado vicopic8

  • PIC10
  • *
  • Mensajes: 29
Re:duda programa c en 16f84a
« Respuesta #13 en: 15 de Marzo de 2023, 02:29:30 »
Da los mismos errores.

El problema con el Proteus es la 7ma línea del .HEX
Código: [Seleccionar]
:08400000FF3FFF3FFF3FFF3FC0
Lo que hace es escribir 0x3FFF en las 4 ID Locations.  No es un error, pero por lo visto a Proteus no le gusta.
--> Si grabás el PIC con eso no pasa nada y si borrás esa línea del .HEX tampoco (y desaparece el error)

Tal vez en los parámetros de compilación se pueda deshabilitar escribir las ID Locations... No lo sé.

ok, buscando en los parámetros del proyecto encontré esto. ¿Serán ambos los que tenga que deshabilitar?
¿Acaso los microcontroladores son el futuro?

Desconectado vicopic8

  • PIC10
  • *
  • Mensajes: 29
Re:duda programa c en 16f84a
« Respuesta #14 en: 15 de Marzo de 2023, 02:45:18 »
Pensé que desactivando esas dos opciones se podría arreglar lo de las advertencias en proteus, pero no. Seguiré tu sugerencia e ignorare dichas advertencias cuando simule en proteus por que al compilar no me aparece nada. Solo espero que mas adelante cuando practique con un pic diferente o haga proyectos mas completos, esto no sea un impedimento ya que quiero aprender el c de mplab x (o podría utilizar en su defecto el ccs c compiler que de hecho lo baje, hice una prueba, cargue el .hex en proteus y si va bien la simulación sin errores. Hice esto pensando que tal vez el proteus ejecutaba mal los .hex generados a partir de archivos .c).

Muchas gracias a ti y a todos los compañeros que me dedicaron un poco de su tiempo en responder a mis dudas. Creo que daré por cerrado este tema amigos!!!!!!  :)
¿Acaso los microcontroladores son el futuro?