Nous avons vu dans le précédent numéro qu'il était possible d'utiliser la mémoire flash comme espace de stockage pour les données/variables qui ne changent pas et ainsi économiser la précieuse mémoire vive. Seul problème, il n'est pas possible d'écrire en flash depuis un croquis, il s'agit simplement de stockage statique. Mais les cartes Arduino proposent une autre solution pour conserver des données entre deux mise sous tension : l'EEPROM intégrée !
Dans un précédent article nous avons vu qu'il était possible de placer des informations dans la mémoire normalement utilisée pour le programme. L'utilisation de PROGMEM nous a permit d'économiser énormément de mémoire mais ceci n'est utilisable qu'au moment de l'écriture du croquis, seule la lecture peut être faite au moment de l'exécution. Les données ainsi stockées ne peuvent donc pas être changées au cours de la vie du programme.
Ceci est relativement problématique car on se retrouve dans une situation où le seul intérêt est finalement d'économiser de la mémoire vive (SRAM). Mais la solution est là et ce depuis très longtemps. Le microcontrôleur formant le cœur de la grande majorité des Arduino, l'Atmel AVR, existait bien avant Arduino et disposait déjà de cette solution qui tient en un mot : EEPROM.
1. EEPROM ?
EEPROM est l'acronyme de Electrically Erasable Programmable Read-Only Memory qui est une désignation pleine d’ambiguïté et de...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première