Autor Tema: memorias 24lc256  (Leído 3716 veces)

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

Desconectado kidpic

  • PIC16
  • ***
  • Mensajes: 231
memorias 24lc256
« en: 06 de Enero de 2010, 18:10:56 »
Hola muchachos ante que nada un muy buen 2010.!!
Mi primer pregunta del 2010 es la siguiente.
¿Cual s la maxima direcciòn de una memoria 24lc256?

Tengo entendido que son 256Kbit y sus registros son de 8 bit. que hacen 32Kbytes
el primer lugar de momoria seria entonces la direccion 00 y cual seria la última
Espero sus respuestas muchas gracias!
Si quieres trascender..., enseña humildemente  lo que sabes.

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: memorias 24lc256
« Respuesta #1 en: 06 de Enero de 2010, 18:29:48 »
La última seria 0x7FFF .

Saludos !

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 664
Re: memorias 24lc256
« Respuesta #2 en: 06 de Enero de 2010, 23:15:01 »
Hola muchachos ante que nada un muy buen 2010.!!
Mi primer pregunta del 2010 es la siguiente.
¿Cual s la maxima direcciòn de una memoria 24lc256?

Tengo entendido que son 256Kbit y sus registros son de 8 bit. que hacen 32Kbytes
el primer lugar de momoria seria entonces la direccion 00 y cual seria la última
Espero sus respuestas muchas gracias!

Hola buenas noches, comentando un poco y como ya lo afirmo el colega RICHI777  su maxima direccion es 7FFF pero el porque de tu pregunta y no entiendo porque colocastes este post en la seccion de C. si puedes explicarnos lo que tienes en mente con esta eeprom i2c y si te podemos colaborar en algo.

saludos y esperamos tus comentarios
Atten.
Alexander Santana.
Venezuela-Barcelona.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado juanpavz

  • PIC12
  • **
  • Mensajes: 77
Re: memorias 24lc256
« Respuesta #3 en: 07 de Enero de 2010, 00:26:57 »
256Kbits = 32Kbytes = 32*1024bytes = 32768bytes = 8000(Hex) es decir desde la direccion 0x0000 hasta 0x7FFF
Hazlo o no lo hagas... Pero no lo intentes

Desconectado kidpic

  • PIC16
  • ***
  • Mensajes: 231
Re: memorias 24lc256
« Respuesta #4 en: 07 de Enero de 2010, 05:46:09 »
El tema es el siguiente: Tengo que leer los datos de un adc de 10 bit como lo es el del pic 16f887. Para ello tendria que tomar la parte baja ( enmascararla la lectura ) y guardarla en un lugar de memoria de 8 bit, a la restante (la parte alta) la guardo en el siguiente lugar de memoria. Para ello tengo que realizar una funcion. Sabiendo la maxima dirección puedo saber cuantos datos ( de temperatura por ejemplo ) puedo guardar. y despues recuperarlos.
gracias.
Si quieres trascender..., enseña humildemente  lo que sabes.

Desconectado kidpic

  • PIC16
  • ***
  • Mensajes: 231
Re: memorias 24lc256
« Respuesta #5 en: 07 de Enero de 2010, 06:09:49 »
me olvidaba, Gracias! por las respuestas. con este razonamiento puedo guardar una cantidad de 16384 datos ( guardando parte baja y alta ) del adc. si es así confirmenlo por favor.
Si quieres trascender..., enseña humildemente  lo que sabes.

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 664
Re: memorias 24lc256
« Respuesta #6 en: 07 de Enero de 2010, 09:01:29 »
me olvidaba, Gracias! por las respuestas. con este razonamiento puedo guardar una cantidad de 16384 datos ( guardando parte baja y alta ) del adc. si es así confirmenlo por favor.
Si forista exactamente eso puedes guardar en la eeprom i2c 24c256 ahora porque lo de postear en la seccion de c porque piensas hacer el codigo en c imagino verdad.

saludos y lo digo es porque no veo la relacion del post con esta seccion.
Atten.
Alexander Santana.
Venezuela-Bacerlona.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: memorias 24lc256
« Respuesta #7 en: 07 de Enero de 2010, 09:03:24 »
me olvidaba, Gracias! por las respuestas. con este razonamiento puedo guardar una cantidad de 16384 datos ( guardando parte baja y alta ) del adc. si es así confirmenlo por favor.

Esta bien, tienes un total de 32768 bytes, así que como utilizas 2 para cada conversión tienes lo que muestras.

Para enviarlo no necesitas enmascarar, con solo rotar ya esta:

Código: C
  1. write_eeprom(Direccion++,(Data>>8));
  2.         write_eeprom(Direccion, Data); // Solo transfiere los primeros 8 bits, truncando.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado kidpic

  • PIC16
  • ***
  • Mensajes: 231
Re: memorias 24lc256
« Respuesta #8 en: 07 de Enero de 2010, 16:12:37 »
Gracias muchachos.
Suky como funcionan las dos lineas que posteaste. como es eso de rotar. Como guardaria el byte bajo en una dirección y el alto en la dirección siguiente.
Que significa el DATA >>8  . :oops: :oops:Gracias de antemano.
Si quieres trascender..., enseña humildemente  lo que sabes.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: memorias 24lc256
« Respuesta #9 en: 07 de Enero de 2010, 21:25:46 »
Es simple, la instrucción rotar toma el dato y desliza sus bits a izquierda o derecha, así por ejemplo un Data=0b00010011 al realizar (Data<<4) quedaría 0b00110000. En las lineas que poste toma el byte mas significativo de la palabra (16-bits) y lo rota a la posición del byte menos significativo.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado kidpic

  • PIC16
  • ***
  • Mensajes: 231
Re: memorias 24lc256
« Respuesta #10 en: 13 de Enero de 2010, 18:22:18 »
A ver si voy bien muchachos, este programita guarda el valor leido por el adc de 10 bit en memoria considerando parte alta y baja)
En primer lugar definiria
 
long i=0;            // inicio de direccion de memoria
long value=0;     //  variable donde guardo la lectura del adc

//me meto en un bucle hasta llegar a la direccion 16384
while(i<=16384);
{
value = read_adc();             //leo el conversor
write_ext_eeprom (i,value);   //escribo en la direccion 00 la parte baja del adc
i=i++;                                  //  incremento la direccion para la parte alta
value= value>>8;                 // roto para guardar la parte alta
write_ext_eeprom (i,value); // guardo en la direccion siguiente la parte alta
i=i++                                // incremento memoria para que guarde otro dato
}

Bueno esto seria el tronco del programita, por supuesto tengo que configurar el adc, el pic etc......
Gracias por el aporte!!!!
Si quieres trascender..., enseña humildemente  lo que sabes.

Desconectado kidpic

  • PIC16
  • ***
  • Mensajes: 231
Re: memorias 24lc256
« Respuesta #11 en: 13 de Enero de 2010, 23:26:27 »
Perdon la última dirección i=32767 (0x7FFF)
gracias!!!!!!
Si quieres trascender..., enseña humildemente  lo que sabes.


 

anything