Flash String

Arduino V1.0 apporte aussi une nouveauté intéressante. Il s'agit de "Flash String".

C'est quoi Flash String?
Flash String permet de lire une chaine de caractère directement depuis la mémoire Flash.
Ca n'a l'air de rien mais c'est une avancée très importante puisqu'elle permet d'économiser la mémoire disponible pour les variables et le programme en cours d'exécution.


Pourquoi est-ce si utile?
Si vous affichez du texte dans une page Web (Ethernet shield), sur un "Ecran LCD" ou sur un "écran TFT", il y a de fortes chances qu'une partie de ce texte soit "figé" dans le temps et ne change jamais durant la vie du programme.
Par exemple le texte "La température actuelle: " est un cas typique de ce qui est expliqué ci-dessus.
Si vous n'utilisez pas de Flash String, alors ces caractères consomme de la mémoire vive potentiellement utile au programme ou à vos autres variables.
Si vous utilisez des Flash String, alors ces caractères seront lus directement depuis la mémoire flash, cette mémoire qui stocke le code exécutable programme et qui n'est pas accessible aux variables (du moins accessible facilement).
Que de place gagnée en mémoire utile ;-)

Comment faire
Un support à été ajouter pour afficher des strings stockées en flash (mémoire qui stocke le programme exécutable) plutôt qu'en RAM.
Placez votre string entre double guillemet (double-quoted) à l'intérieur d'une fonction F() pour indiquer qu'elle devrait être stockée dans la mémoire Flash.
Par exemple:
F(“Bonjour MCHobby”)