TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: black_flowers en 02 de Julio de 2007, 17:38:43

Título: funcion para leer escribir en eprom.
Publicado por: black_flowers 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.
Título: Re: funcion para leer escribir en eprom.
Publicado por: jfh900 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
Título: Re: funcion para leer escribir en eprom.
Publicado por: migsantiago 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.
Título: Re: funcion para leer escribir en eprom.
Publicado por: black_flowers en 03 de Julio de 2007, 17:26:41
muy bien, muchas gracias !!!  :-)