Autor Tema: Escritura y estructura de memoria i2c 24c256  (Leído 2863 veces)

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

Desconectado elavismo

  • PIC10
  • *
  • Mensajes: 30
Escritura y estructura de memoria i2c 24c256
« en: 18 de Abril de 2007, 18:23:02 »
Ante todo, Saludos!

Escribo en esta oportunidad, para compartir una duda y realizar una consulta abierta.
Estoy realizándo un proyecto con un pic 16f877a el cual incluye una memoria i2c 24c256, y estoy programando en C con CCS. He programado mucho en asm pero en C no mucho. El Acceso a la memoria (Escritura y Lectura) está en pleno funcionamiento ya, y tengo todo montado en una placa funcionando. Aquí va mi duda y es acerca de la "ESTRUCTURA" de la escritura y lectura de la memoria en lenguaje C.

Tengo que escribir números de 4 dígitos el cual identificarán a personas, y también debo programar un procedimiento de búsqueda por medio de ése número de identificación y saber si está registrado, etc etc.. Cuando yo programaba en ASM, si mi numero era de 4 dígitos, yo guardaba un dígito por localidad de la memoria en ASCII, y cuando hacia la búsqueda buscaba por el primer digito, si coíncidia, buscaba por el segudndo y así hasta el último para ver si está registrado. Sin embargo, estuve viendo un ejemplo en C aquí en el foro (Ejemplo PIC y memoria i2c), y hay algo que no entiendo.

Crean una cadena de texto completa en una variable y la almacenan en una localidad de la memoria. Luego incrementan el apuntador que indica la dirección de la memoria y graban otra cadena, entonces Toda esa cadenota se guarda en una sola localidad de 8bits?. Para mi es absurdo e imposible, pero aún asi no se exactamente como es el proceso ahi, ya que cuando van a leer las cadenas de texto para reproducirlas en la pantalla, hacen lo mismo a la inversa. Apuntan a la prmera localidad, leen y muestran, incrementan y vuelven a leer la otra cadena.

Al apuntar a la dirección 0 y grabar el número 1234. El pic graba un dígito por localidad y la dirección para el siguiente numero de 4 dígitos así como para su posterior búsqueda es el 5?

El pic graba en ASCII los números y cadenas de texto en la memoria?

Gracias y disculpen lo extenso.
« Última modificación: 18 de Abril de 2007, 18:25:05 por elavismo »

Desconectado microman

  • PIC10
  • *
  • Mensajes: 17
Re: Escritura y estructura de memoria i2c 24c256
« Respuesta #1 en: 25 de Abril de 2007, 18:13:12 »
Elavismo...llegaste a probar el código que mencionas en el link...? Tenes q tener en cuenta q no todo los source q se levantan en el foro han sido probados...
Yo intentaria algo asi

long int i;
char digito[LonMax];  // esta será la variable en la cual almacenaras los digitos...para tu caso LonMax=4

for (i=0;i<LonMax;i++)
   write_ext_eeprom(i,digito);

//.........

Y para la lectura seria similar
for (i=0;i<LonMax;i++)
   digito=read_ext_eeprom(i);

Ahora cuando debas realizar busquedas en toda la eeprom tendras que salvar la ultima posición de memoria al cual accediste para poder continuar la busqueda de lo contrario solo estarás buscando en sólo un segmento... Con un poco de modificacion del código ya tendrás lo que estas buscando....



Saludos

Desconectado elavismo

  • PIC10
  • *
  • Mensajes: 30
Re: Escritura y estructura de memoria i2c 24c256
« Respuesta #2 en: 25 de Abril de 2007, 20:23:19 »
Gracias amigos, ya logré solucionar con lo que me dieron