Grabar Eeprom desde pic

dragonspirit dijo:
Hola de nuevo,

He cambiado el formato de los datos que voy a ir almacenando en la EEPROM externa que comenté días atras (una EEPROM de microchip modelo 25LC1024).

Me he Hecho una pequeña aplicacion que me almacena un dato en una direccion de memoria, y luego la lee, y compara los dos datos, encendiendo un LED si son iguales. Pues bien, no lo enciende.

Estoy mirando con un osciloscopio las señales que me generan tanto el PIC como la EEPROM. El PIC manda los datos correctamente (visualizo el SCK y SO y manda los datos que debe), el problema lo tengo en la salida de la memoria. Ésta recibe la instrucción de lectura, y recibe la direccion deseada correctamente, pero el dato que envia de vuelta, no es el dato introducido anteriormente, y además tiene muy mala pinta. La señal parece que sean varias señales superpuestas, y decae de forma exponencial (más o menos, para que os hagais una idea) cuando termina el periodo de envio del dato.

No tengo ni idea de como puedo solucionarlo, y ya llevo varios dias probando cosas, y no hay manera de encender el dichoso LED.

Espero que podais ayudarme, me ayudaríais muchisimo. Estoy deseando ver ese LED encendido, .

Muchas gracias


dragonspirit, estoy en el mismo caso que estuviste tu anteriormente, estoy muy desorientado, he estado mirando y la eeprom 25LC1024 que tu has utilizado seria suficiente para los datos que quiero almacenar, me podrias hechas una mano en la conexion fisica y explicar de que forma puedo guardar un dato en la memoria para luego leerlo para enviarlo al PC, lo de la comunicacion con el PC ya lo tengo medio listo, pero me gustaria aprender como comunicar la eeprom con el PIC, desde ya, agradezco vustra colaboracion

UN saludo a todos
 
cheapekt dijo:
dragonspirit dijo:
Hola de nuevo,

He cambiado el formato de los datos que voy a ir almacenando en la EEPROM externa que comenté días atras (una EEPROM de microchip modelo 25LC1024).

Me he Hecho una pequeña aplicacion que me almacena un dato en una direccion de memoria, y luego la lee, y compara los dos datos, encendiendo un LED si son iguales. Pues bien, no lo enciende.

Estoy mirando con un osciloscopio las señales que me generan tanto el PIC como la EEPROM. El PIC manda los datos correctamente (visualizo el SCK y SO y manda los datos que debe), el problema lo tengo en la salida de la memoria. Ésta recibe la instrucción de lectura, y recibe la direccion deseada correctamente, pero el dato que envia de vuelta, no es el dato introducido anteriormente, y además tiene muy mala pinta. La señal parece que sean varias señales superpuestas, y decae de forma exponencial (más o menos, para que os hagais una idea) cuando termina el periodo de envio del dato.

No tengo ni idea de como puedo solucionarlo, y ya llevo varios dias probando cosas, y no hay manera de encender el dichoso LED.

Espero que podais ayudarme, me ayudaríais muchisimo. Estoy deseando ver ese LED encendido, .

Muchas gracias


dragonspirit, estoy en el mismo caso que estuviste tu anteriormente, estoy muy desorientado, he estado mirando y la eeprom 25LC1024 que tu has utilizado seria suficiente para los datos que quiero almacenar, me podrias hechas una mano en la conexion fisica y explicar de que forma puedo guardar un dato en la memoria para luego leerlo para enviarlo al PC, lo de la comunicacion con el PC ya lo tengo medio listo, pero me gustaria aprender como comunicar la eeprom con el PIC, desde ya, agradezco vustra colaboracion

UN saludo a todos

Lo vuelvo a repetir:
Código:
   LIST      P=16F84A
   INCLUDE      <P16F84A.INC>
   __CONFIG   _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC

   CBLOCK   0x0C
   ENDC

   ORG   0x2100            ; Corresponde a la dirección 0 de la zona EEPROM
                     ; de datos.
   DE   "Estos datos son lo que está guardado en la EEPROM", 0x00

   ORG    0
Inicio
   sleep
   goto   Inicio
   
   END

No es 24LC1024 sino 24LC1025. Puedes conectar hasta 8 dispositivo EEPROM 24LC1025 y tienes más memoria.

1025 Kbits son 128,125Kbytes, de ahí viene el 24LC1025.
1025 kbits x 8 (EEPROM 24LC1025) = 8200 KBits, o lo que es lo mismo, 1025Kbytes. 1MBytes reales de memoria.

Si te quedas corto, puedes usar si sabes programarlo, tarjetas MMC de 4Gigas o más. Para un Webserver está muy bien.

Saludos.
 
Muchisimas gracias Meta por tu rapida contestacion, el problema es que yo programo en CCS, con el lenguaje C tienes idea de como hacerlo en C?

Gracias sinceramente
 
Pues...






...no.

Sólo manejo ASM, pero el código que acaba de poner arriba, si alguie sabe, te lo pasará a C, pero debes decir que PIC usas.

Saludos.
 
he notado que en varias paguinas te explican como implementar la comunicacion y algunos ejemplos acerca del soft neesario pero he notado que no ponen en sus diagramas la conexión de un par de resistencias necesarias para que el bus i2c funcione correctamente son un par de resistencia pull up en plos pines de data y clock .
te lo digo por si las mosca .
 
alguien me podria explicar que significa estos datos
ORG 0x2100 ; de la zona EEPROM
; de datos.
DE "Estos datos son lo que está guardado en la EEPROM", 0x00
 
Atrás
Arriba