Práctica: Uso de Memoria en Arduino

por | 13 junio, 2016

Para entender el uso de la memoria, hagamos una práctica añadiendo y quitando elementos del sketch y viendo la ocupación de memoria.

Funciones para calcular memoria libre en Arduino:

int freeRam () {

 extern int __heap_start, *__brkval;

 int v;

 return (int) &v – (__brkval == 0 ? (int) &__heap_start : (int) __brkval);

}

Práctica: Calcula memoria RAM de tu Arduino UNO sin ejecutar ningún programa con la función freeRam() y comparalo con el dato que da al compilar, también averigua cuánto ocupa la memoria Flash. Luego calcula la memoria RAM y la Flash utilizada con un programa que cada loop saque por puerto serie cada 5 segundos el siguiente texto:

Desde octubre de 2012, Arduino se usa también con microcontroladoras CortexM3 de ARM de 32 bits,5 que coexistirán con las más limitadas, pero también económicas AVR de 8 bits. ARM y AVR no son plataformas compatibles a nivel binario, pero se pueden programar con el mismo IDE de Arduino y hacerse programas que compilen sin cambios en las dos plataformas. Eso sí, las microcontroladoras CortexM3 usan 3,3V, a diferencia de la mayoría de las placas con AVR que generalmente usan 5V. Sin embargo ya anteriormente se lanzaron placas Arduino con Atmel AVR a 3,3V como la Arduino Fio y existen compatibles de Arduino Nano y Pro como Meduino en que se puede conmutar el voltaje.

Luego haz que aumente la RAM con el modificador F y compruebalo.

Resultado: https://github.com/jecrespo/Aprendiendo-Arduino/blob/master/Ejercicio05-Memoria/Ejercicio05-Memoria.ino

Ejemplo de como llenar la memoria de Arduino: https://github.com/jecrespo/Aprendiendo-Arduino/tree/master/Otros/llenarMemoria

Ejemplo de cálculo de la velocidad de la memoria: https://github.com/jecrespo/Aprendiendo-Arduino/tree/master/Otros/velocidadMemoria

Deja un comentario