Vamos a incluir una sección con aquellas preguntas que frecuentemente nos hacemos sobre Arduino. Empezaremos con todo un clásico

¿Cuántos tipos de memoria tiene Arduino y porqué?

Vamos a empezar afinando la pregunta. ¿Cuántos tipos de memoria tiene el ATMega328 (que es el micro actualmente más usado en Arduino)?

Tiene 3 tipos, cada con sus características y funciones:

  • SRAM: memoria muy rápida, tanto en lectura como en escritura, donde se almacenan las variables de nuestros programas. Su contenido se pierde al perder la alimentación el micro. Arduino UNO dispone de 2Kb
  • Flash: memoria donde se almacena el programa. Es muy similar a la de un pendrive. Sólo se puede escribir durante el proceso de arranque desde el bootloader, después se bloquea ante escritura. En ella se guardan las instrucciones de nuestro programa y el propio bootloader. A todos los efectos desde nuestro programa es una memoria de solo lectura. Su contenido no se pierde al desconectar la alimentación. Tiene un número máximo de 10.000 reescrituras. Arduino UNO dispone de 32k
  • EEPROM: memoria de lectura y escritura, de acceso lento, pero que puede ser modificada desde programa. Por esta razón se suele utilizar para guardar configuraciones, estados de un programa que se requiere recuperar después, etc. No se borra al perder la alimentación y tiene un número máximo de 100.000 reescrituras. Arduino UNO dispone de 1Kb
Veamos una comparativa del tamaño de las distintas memoria de diferentes placas Arduino (tomada de la excelente página Arduino-Tutorials)
 

Más información en la especificación del ATMega 328 y en la página sobre memoria de arduino.cc

AFAQ – Arduino Frecuently Asked Questions I : Tipos de memoria
Etiquetado en: