Post Arduino

jueves, 24 de junio de 2010

Memoria EEPROM 24LC256 y Arduino

A veces es importante guardar datos leídos por sensores o resultados de formulas en una memoria eeprom, la memoria eeprom maneja el protocolo de comunicación I2C a continuación adjunto el código simple para manejar una memoria eeprom ya sea para escritura y lectura, cabe destacar que este código esta probado por mi y funciona a la perfección... dentro del archivo tambien esta la hoja de datos de la memoria, y en el codigo esta descrito el diagrama de conexion, espero sus comentarios.


http://www.megaupload.com/?d=NWWLC5MH



2 comentarios:

  1. hola javier soy joel estudiante de venezuela, estoy tratando de almacenar el total de los
    datos en la memoria eeprom 24AA256 pero no logro grabar datos a mas de 255 posiciones,

    1. La memoria 24AA256 dispone de 8 paginas de memoria con 32k cada una, las cuales tienen
    32768 posciones de memoria con 8 bits cada uno, bien yo quiero escribir desde la posicion
    cero hasta la 32767 de la pagina 1(A2,A1 y A0 los tengo en cero Volts), esto se puede realizar
    con este programa? que debo hacer estuve probando cambiando el valor de la linea [6]
    y puedo acceder a varias posiciones pero solo hasta la 255

    2. Por otra parte me podrias expilcar que es lo que hace la linea [8]?

    Espero haberme explicado y que me puedas orientar con esto


    [1] void loop (){
    [2] int temp = 0;
    [3] Serial.println("Leyendo");
    [4] Wire.beginTransmission(deviceADD); //DIRECCION DEL DISPOSITIVO
    [5] Wire.send(0x00); //DIRECCION DE LA PAGINA

    [6] Wire.send(0x01); //LEO 1 BYTE DE LA MEMORIA
    [7] Wire.endTransmission();
    [8] Wire.requestFrom(deviceADD,1);
    [9] if (Wire.available())
    [10] temp = Wire.receive();
    [11] Wire.endTransmission();
    Serial.println(temp);
    delay(200);

    }

    ResponderEliminar
  2. Hola, recien estoy empezando a utilizar esta memoria, y no hice ningun sketch funcional pero creo que estas equivocado, segun lei la 24lc256 tiene 256Kbits, o sea 8 pags de 32Kbits lo que serian 4Kbytes por pagina.
    Saludos.

    ResponderEliminar