Autor Tema: Ayuda con memoria 24LC256!!!!!!!  (Leído 2709 veces)

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

Desconectado marcriaturo

  • PIC10
  • *
  • Mensajes: 3
Ayuda con memoria 24LC256!!!!!!!
« en: 14 de Noviembre de 2006, 23:31:34 »
Hola amigos del foro, necesito ayuda acerca de como guardar un dato tipo long (16 bits), en la memoria externa (24LC256), y luego poder recuperarlo. Existe alguna libreria que permita hacer esto??? Especificamente deseo guardar una direccion (16 bits). Muchas gracias :-/

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5552
    • Picmania by Redraven
Re: Ayuda con memoria 24LC256!!!!!!!
« Respuesta #1 en: 15 de Noviembre de 2006, 03:12:41 »
No hace mucho hemos escrito sobre este tema aquí en el foro ... prueba a utilizar el buscador del mismo a ver qué encuentras ... si logro encontrarlo te lo posteo de nuevo.

Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado marcriaturo

  • PIC10
  • *
  • Mensajes: 3
Re: Ayuda con memoria 24LC256!!!!!!!
« Respuesta #2 en: 15 de Noviembre de 2006, 23:39:42 »
Gracias Red-Pic, te cuento ya encontre la solucion a mi problema!!!!!!!, buscando por ahi encontre funciones para grabar long int a la memoria interna del pic , y lo modifique un poco, por lo menos en proteus funciona bien, falta armar bien el programa y probarlo en el pic y listo. Les adjunto la solucion, por si alguien se interesa:

void write_eeprom_16bits(long int address, long val){
  int pLow, pHigh;
  pLow = val;
  pHigh = val>>8;

  write_ext_eeprom(address,pHigh);
  ++address;
  write_ext_eeprom(address,plow);

}

long read_eeprom_16bits(long int address){

  int pLow, pHigh;
  long result;
  pHigh = read_ext_eeprom(address);
  ++address;
  pLow = read_ext_eeprom(address);
  result=(pHigh<<8);
  result+=pLow;
  return result;
8)

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
Re: Ayuda con memoria 24LC256!!!!!!!
« Respuesta #3 en: 17 de Noviembre de 2006, 13:19:04 »
Es que el buscador hace milagros...  :mrgreen:


Suerte!!! ;)
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado samshiel_pic

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 777
    • Electrónica·Ingenia
Re: Ayuda con memoria 24LC256!!!!!!!
« Respuesta #4 en: 18 de Noviembre de 2006, 20:50:17 »
Desde luego amigo  :mrgreen: . Llevo una temporadita que casi no posteo nada ya que lo que toy haciendo es jartarme de leer todos los post mas antiguos y los nuevos claro y para ello nada mejor que el buscador. :P

Desconectado pikman

  • Moderador Local
  • PIC24F
  • *****
  • Mensajes: 682
Re: Ayuda con memoria 24LC256!!!!!!!
« Respuesta #5 en: 03 de Diciembre de 2006, 00:45:20 »
Bueno, aca te dejo mas ayuda, si usas el compilador de CCS hay una forma explicada en el manual, y ademas una libreria, que tiene la siguiente funcion, solo incluye la libreria external_eeprom.c y llamala, ademas hay muchas cosas mas 32 bits, 1 bit, vale la pena.


// Purpose:    Write a 16 bit number to external eeprom
// Inputs:     1) An eeprom address
//             2) The 16 bit number to write to external eeprom
// Outputs:    None
void write_int16_ext_eeprom(EEPROM_ADDRESS address, int16 data)
{
   int8 i;

   for(i = 0; i < 2; ++i)
   {
     write_ext_eeprom(address + i, *(&data + i));
   }
}


// Purpose:    Read a 16 bit number from external eeprom
// Inputs:     An eeprom address
// Outputs:    The 16 bit number read from external eeprom
int16 read_int16_ext_eeprom(EEPROM_ADDRESS address)
{
   int8  i;
   int16 data;

   for(i = 0; i < 2; ++i)
   {
     *(&data + i) = read_ext_eeprom(address + i);
   }

   return(data);
}

saludos
PikMan


 

anything