Autor Tema: funcion para leer escribir en eprom.  (Leído 1841 veces)

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

Desconectado black_flowers

  • PIC18
  • ****
  • Mensajes: 450
funcion para leer escribir en eprom.
« en: 02 de Julio de 2007, 17:38:43 »
hola, q tal, tengo otra duda con el i2c para escribir o leer en las eprom.
si ejecuto esto:

   i2c_write(0xd0);

¿estoy escribiendo ya directamente el dato 0xd0 en la eprom? O quizá hay que mandar algún tipo de instruccion para leer/escribir.
saludos.

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: funcion para leer escribir en eprom.
« Respuesta #1 en: 02 de Julio de 2007, 19:31:52 »
Con eso no estas haciendo nada en principio. Para poder realizar una escritura tienes que hacer:

Código: C
  1. i2c_start();   // El master toma el control del bus
  2. i2c_write(address); // Se pone la dirección del dispositivo a escribir
  3. i2c_write(data); // Se pone el dato a escribir y se escribe
  4. i2c_stop(); // Se libera el bus por le master

Esto seria básicamente una comunicación sencilla, hay que ver como se comunican los slave en sus correspondientes datasheet ya que puede suceder que haya que poner la dirección en dos trozos si el dispositivo tiene una dirección mayor que 8 bits como por ejemplo en la memoria 2416:

Código: C
  1. i2c_start();
  2. i2c_write((0xa0|(BYTE)(address>>7))&0xfe); // Ponemos una parte de la dirección (parte baja)
  3. i2c_write(address); // Ponemos la otra parte de la dirección (parte alta)
  4. i2c_write(data);
  5. i2c_stop();


Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: funcion para leer escribir en eprom.
« Respuesta #2 en: 02 de Julio de 2007, 19:39:58 »
En la hoja de características de la memoria que vas a usar hay un tren de pulsos I2C que debes estudiar para lograr comunicarte con ella.

Como te comenta Jfh900 son varias las cosas que hay que enviar y recibir para manejar la memoria.

También dale una estudiada a los comandos i2c en la sección de ayuda del compilador para que los relaciones con los trenes de pulsos de la hoja de características.

Desconectado black_flowers

  • PIC18
  • ****
  • Mensajes: 450
Re: funcion para leer escribir en eprom.
« Respuesta #3 en: 03 de Julio de 2007, 17:26:41 »
muy bien, muchas gracias !!!  :-)


 

anything