TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: Marioguillote en 17 de Octubre de 2017, 19:03:22

Título: EEPROM interna y EEPROM externa
Publicado por: Marioguillote en 17 de Octubre de 2017, 19:03:22
Hola a todos !

Espero se encuentren bien después de tanto tiempo.
La consulta es la siguiente para saber si a alguien le sucedió.

He usado en un proyecto la EEPROM interna de un 18F25K20. Escribo, antes de grabar el micro, un par de datos en la solapa que el WinPIC800 trae para este efecto y procedo a la grabación. No lo guardo antes, entre las lìneas de programa como EDATA o de otros modos (EWRITE), sino que lo hago en ese momento porque "debo" permitir que asì se haga.
Esto funciona de maravillas y puedo leer cada dato con EREAD sin despeinarme.
El programa ha crecido un poco y todo funcionò sin problemas hasta el momento en que debì agregar una EEPROM externa que manejo mediante HBUSIN y HBUSOUT (como lo he hecho desde siempre).

A partir de esto, los datos de la EEPROM interna no puedo leerlos, se pierden, se transforman, se corrompen.
Me lee cualquier cosa o caracteres muy fuera de lo que, hasta agregar la EEPROM externa y sus comandos, podìa hacer y manipular.

Pareciera que EREAD y HBUSIN/HBUSOUT no pueden convivir.

En otras palabras, no puedo usar en un mismo desarrollo las EEPROM interna y otra externa, cosa que me parece imposible. Es evidente que algo se me està escapando y desconozco como resolverlo o no me doy cuenta de còmo hacerlo.

Vale aclarar que uso Proton - Amicus18

A quien me pueda brindar ayuda le estarè muy agradecido.

Saludos!
Mario
Título: Re:EEPROM interna y EEPROM externa
Publicado por: elreypic2 en 19 de Octubre de 2017, 12:36:55
Que tal Marioguillote,

Me da gusto volver a saber de ti.
En cuanto a tu problema, no tiene sentido lo que está sucediendo. Pudieras subir un fragmento del código y un esquemático sencillo para darme una mejor idea. No he usado el Amicus18, pero sí el Proton. Así que tal vez te pudiera ayudar.

elreypic.
Título: Re:EEPROM interna y EEPROM externa
Publicado por: Marioguillote en 19 de Octubre de 2017, 20:41:34
Hola amigo !  :)
Gracias por la bienvenida
A mí también me reconforta volver a estar por estos lados.

Coincido contigo en que no tiene sentido que lo que comento no funcione pero ... no funciona !  :)

Es lo mismo Protón, de hecho estoy usando Protón para hacer este código. Trataré de comentarte lo mejor que pueda en el poco tiempo que tengo.

Conecto una 24C04 de manera directa (SDA y SCL) a los pines correspondientes del PIC (PORTC.3 y PORTC.4 en 18F25K20) para poder trabajar con HBSTART - HBUSIN/HBUSOUT - HBSTOP y grabar o leer en la EEPROM.
Eso funciona perfecto.

En la etapa previa del proyecto, usaba una caracterìstica del WinPIC800 para grabar en la EEPROM interna del PIC un nùmero de 4 cifras. Luego la leìa con un lazo FOR - NEXT y dentro metìa el comando HSEROUT [EREAD variable] para sacar el dato por el serial.
Todo funcionò perfecto hasta incorporar la EEPROM externa.
A partir de allì no me leyò màs los datos internos. La EEPROM externa funciona sin problemas. De la interna desaparecieron los datos ....
Muy misterioso todo.

Me pongo a trabajar y màs tarde retorno. Creo tener una leve sospecha de lo que està sucediendo y se me ha despertado ahora charlando contigo ....  :shock:

Ensayo y te comento de què se trata.

Gracias nuevamente amigo !
Mario
Título: Re:EEPROM interna y EEPROM externa
Publicado por: Marioguillote en 20 de Octubre de 2017, 00:29:31
Aquì estamos de nuevo ...

Falsa expectativa.  :(

En un punto casi inicial del programa habìa puesto un comando CLEAR para iniciar con toda la RAM limpia y las variables vacìas al iniciar pero no venìa por allì el problema. Mejor dicho, no viene por allì el problema ya que el mismo aùn persiste.
Seguirè investigando y cuando logre algùn avance lo publico si es que algùn otro amigo no lo comenta antes.

Saludos !
Mario