Autor Tema: EEPROM 24lc512  (Leído 1640 veces)

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

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
EEPROM 24lc512
« en: 22 de Julio de 2006, 06:45:06 »
Hola estoy intentando leer y escribir en una memoria EEPROM 24lc512 con el CCS C pero a partir de la direccion FF tengo problemas.

¿Alguien sabe a que puede ser debido?

¿Puede que al necesitar 16 bits para la direccion tenga algun problema?

Un saludo a todos.

Gracias
BitPIC

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: EEPROM 24lc512
« Respuesta #1 en: 22 de Julio de 2006, 15:43:52 »
Si no pones el código dificilmente te podremos ayudar.

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 bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: EEPROM 24lc512
« Respuesta #2 en: 22 de Julio de 2006, 20:00:20 »
Perdon  :? aqui pongo el codigo:

#include <18F258.h>

#fuses HS,NOPUT,NOPROTECT,NOBROWNOUT,NOLVP,NOWDT

#use delay(clock=20000000)
#use I2C(master,sda=PIN_B1,scl=PIN_B0,SLOW,FORCE_SW)
#define LED   PIN_A2

#include <24512.c>
#include <Arial9.c>
#include <gclcd.h>


void main(void)
{
   int8 contrast = 63;
   unsigned int8 j;
   unsigned int8 i;
   unsigned int8 x,y,ini_y,ini_x,fin_x,fin_y;
   int dato,dato1,dato2;
   EEPROM_ADDRESS direccion;

   direccion = 0x48C;  // direccion de memoria

   init_ext_eeprom();
   
   setup_adc_ports(NO_ANALOGS);

   gclcd_init();             // Inicialización GCLCD

//Presentacion
   x=10;
   y=10;
   gclcd_rect(5,5,125,125,3,0,BLUE);
   gclcd_font();
   gclcd_color(BLACK);
   gclcd_gotoxy(x,y);
   printf(gclcd_putc,"EEPROM");
   dato = read_ext_eeprom(0x491);
   gclcd_gotoxy(x,20);
   printf(gclcd_putc,"%x",dato);

   ini_x=10;
   ini_y=30;
   fin_x=ini_x+8;
   fin_y=ini_y+12;

   for(y=ini_y; y<fin_y; y++)  // 12 filas
   {
      dato = read_ext_eeprom(direccion);
      for(x=ini_x; x<fin_x; x++) // 8 columnas
      {
         If(bit_test(dato,(x-ini_x)))
         gclcd_pixel(x,y,BLACK);
      }

      direccion++;
   }

}

El mismo programa empezando de la direccion 0x00 en vez de la 0x48C me funciona bien creo que podria ser algo relacionado con que una es de 8 bits y la otra de mas.

Como lo veis?????
BitPIC

Desconectado bitpic

  • PIC18
  • ****
  • Mensajes: 402
    • BitPIC
Re: EEPROM 24lc512
« Respuesta #3 en: 22 de Julio de 2006, 20:06:10 »
Perdon  :-/ "RECTIFICO" si que me funciona he tenido un error de calculos.

Muchas gracias por contestar igualmente.

Un saludo  :D

 :-)
BitPIC