Autor Tema: No entiendo como usar la EEPROM interna.  (Leído 2063 veces)

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

Desconectado gapsna

  • PIC10
  • *
  • Mensajes: 20
No entiendo como usar la EEPROM interna.
« en: 31 de Julio de 2010, 22:42:07 »
Hola Usuarios, les comento mi situacion.'

He trabajado un poco en robotica, y tengo un par de robots, tocos controlados mediante pic, uso lenguaje C y compilo con el PIC-C. Hasta ahora, nunca he nesecitado guardar datos en la memoria no volatil del pic, sin embargo, para una competencia en la universidad, requiero guardar un solo numero del 1 al 5. Y no entiendo como se hace eso en lenguaje C, solo encuentro para Assembler. Cualquier tutorial para C o ayuda, sera bienvenida. De antemano, muchas gracias.

Edito: tb nesecito saber como hago pa leer una direccion especifica de la eeprom, el lugar donde guardaria ese numero.
« Última modificación: 31 de Julio de 2010, 23:00:59 por gapsna »

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: No entiendo como usar la EEPROM interna.
« Respuesta #1 en: 31 de Julio de 2010, 23:06:37 »
En la ayuda del CCS viene

WRITE_PROGRAM_EEPROM

Ya solo checa el overview , viene desglazadas las caracterisiticas y funciones.

Saludos!

Desconectado gapsna

  • PIC10
  • *
  • Mensajes: 20
Re: No entiendo como usar la EEPROM interna.
« Respuesta #2 en: 31 de Julio de 2010, 23:16:31 »
En la ayuda del CCS viene

WRITE_PROGRAM_EEPROM

Ya solo checa el overview , viene desglazadas las caracterisiticas y funciones.

Saludos!


muchas gracias por tu respuesta ^^

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: No entiendo como usar la EEPROM interna.
« Respuesta #3 en: 01 de Agosto de 2010, 02:45:47 »
Estos ejemplos salen en el manual del CCS:

READ_EEPROM(address)
Esta función lee un byte de la dirección (address) de EEPROM especificada. La dirección puede ser 0-63.
Ejemplo:
#define LAST_VOLUME 10
volume = read_EEPROM (LAST_VOLUME );

WRITE_EEPROM(address, value)
Esta función escribe un byte de datos en la dirección de memoria EEPROM especificada. address puede valer 0-63; value es el byte de datos a escribir; Esta función puede tardar varios milisegundos para ejecutarse.
Ejemplo:
#define LAST_VOLUME 10
volume++;
write_eeprom(LAST_VOLUME,volume);

saludos!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein