elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de


+  Foro de elhacker.net
|-+  Informática
| |-+  Electrónica
| | |-+  EEPROM y Arduino
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: EEPROM y Arduino  (Leído 5,903 veces)
@synthesize
Wiki

Desconectado Desconectado

Mensajes: 639


Another Brick in the Wall


Ver Perfil WWW
EEPROM y Arduino
« en: 17 Julio 2010, 05:55 »

¿Qué es EEPROM?

(Wikipedia) EEPROM o E²PROM son las siglas de Electrically-Erasable Programmable Read-Only Memory (ROM  programable y borrable eléctricamente). Es un tipo de memoria ROM  que puede ser programado, borrado y reprogramado eléctricamente, a diferencia de la EPROM que ha de borrarse mediante un aparato que emite rayos ultravioletas. Son memorias no volátiles.

Las celdas de memoria de una EEPROM están constituidas por un transistor MOS, que tiene una compuerta flotante (estructura SAMOS), su estado normal esta cortado y la salida proporciona un 1 lógico.

Aunque una EEPROM puede ser leída un número ilimitado de veces, sólo puede ser borrada y reprogramada entre 100.000 y un millón de veces.

Estos dispositivos suelen comunicarse mediante protocolos como I²C, SPI y Microwire. En otras ocasiones, se integra dentro de chips como microcontroladores y DSPs para lograr una mayor rapidez.



Añadir la cabecera EEPROM


Basta con incluir la directiva #include <EEPROM.h> en nuestro código.

Funciones:



 EEPROM.write(dirección, valor)


Escribe un valor en la EEPROM.

Dirección (Address): Disponemos de 511 celdas (int)
Valor (Value): Disponemos de 0 a 255 Tipo Byte)

 EEPROM.read(dirección)


Lee un valor de la EEPROM

Value (Address): Disponemos de 511 celdas (int)

Retorna: Byte. (Podemos hacer cast a int)

Código de ejemplo (Desde la página oficial de Arduino)

   WRITE

Código
  1. #include <EEPROM.h>
  2.  
  3. void setup()
  4. {
  5.  for (int i = 0; i < 512; i++)
  6.    EEPROM.write(i, i);
  7. }
  8.  
  9. void loop()
  10. {
  11. }

   READ
Código
  1. #include <EEPROM.h>
  2.  
  3. int a = 0;
  4. int value;
  5.  
  6. void setup()
  7. {
  8.  Serial.begin(9600);
  9. }
  10.  
  11. void loop()
  12. {
  13.  value = EEPROM.read(a);
  14.  
  15.  Serial.print(a);
  16.  Serial.print("\t");
  17.  Serial.print(value);
  18.  Serial.println();
  19.  
  20.  a = a + 1;
  21.  
  22.  if (a == 512)
  23.    a = 0;
  24.  
  25.  delay(500);
  26. }
  27.  

*Aviso:   Como bien se avisa en la página de Arduino, el datasheet del EEPROM del microcontrolador Atmega 168 solo soporta unos 100000 ciclos de escritura/sobreescritura. Ahora la mayoría de los Arduinos vienen con Atmega328p, me imagino que la vida de EEPROM se habrá alargado, aún así agradecería que alguien buscara en el datasheet.


« Última modificación: 17 Julio 2010, 05:59 por Daemon Freedom » En línea

Banti

Desconectado Desconectado

Mensajes: 228


NULL


Ver Perfil
Re: EEPROM y Arduino
« Respuesta #1 en: 17 Julio 2010, 20:29 »

Interesante thread.

Yo pense con los Arduinos no tenian EEPROM y por eso se vendian las SD shield :P


En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: EEPROM y Arduino
« Respuesta #2 en: 18 Julio 2010, 12:41 »

Interesante thread.

Yo pense con los Arduinos no tenian EEPROM y por eso se vendian las SD shield :P

Que yo sepa no se peuden cargar progrmas desde una microSD...

Por cierto daemon, gran documentacion, solo un añadido, dispone de 512 celdas, aunque se empieze a contar desde 0, son 512.

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Limpiar de cuajo la memoria RAM y EEPROM.
Electrónica
Meta 2 3,535 Último mensaje 8 Diciembre 2010, 12:57
por Meta
PROGRAMAR UNA EEPROM 95160
Programación C/C++
CHURRY 0 1,914 Último mensaje 13 Noviembre 2012, 15:42
por CHURRY
Manejar EEPROM interna
Electrónica
Meta 1 1,499 Último mensaje 7 Marzo 2013, 21:56
por Firos
(PIC) Borrar EEPROM con bootloader
Electrónica
LiLou 2 3,756 Último mensaje 27 Septiembre 2014, 20:09
por gmola17
retardo en interrupcion por escritura en EEPROM
ASM
antareZ 0 1,433 Último mensaje 15 Octubre 2016, 04:40
por antareZ
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines