Lcd et mémoire RAM

Hey ,
J'ai essayé de faire une interface avec un écran lcd 2X16 et des boutons. En la testant , je suis rentré dans un menu et la ! reboot de la carte. J'ai pas compris au début. Et puis en enlevant juste une instruction lcd.write("blabla"); , la mémoire RAM utilisé a baissé. En effet je pense que le reboot vient d'un manque de mémoire RAM. J'ai donc remarqué que plus il y avait de caractère entre les " , plus le mémoire RAM utilisé augmentait.

Image :

Ma question est simple : POURQUOI ? Pourquoi l'utilisation la mémoire RAM augmente ?

PS: Je précise que je suis débutant (Soyez gentil si la réponse saute aux yeux).

Cherchez "Arduino PROGMEM" ça vous donnera une idée (et utilisez F("xxxx") au lieu de "xxxx" quand c'est possible)

Bien sûr n'utilisez pas la classe String

SkyGin_Tom:
Ma question est simple : POURQUOI ? Pourquoi l'utilisation la mémoire RAM augmente ?

Parce que les variables sont stockées en RAM.
Mais tu peux forcer le stockage des chaînes constantes en FLASH avec la syntaxe proposée par J-M-L.

fdufnews:
Parce que les variables sont stockées en RAM.

C’est encore ‘pire’ que ça: avec l’architecture des avr, les constantes sont recopiées en ram pour pouvoir être utilisées pas le programme

Faut bien se rendre compte aussi que la mémoire flash est bien moins rapide que la SRAM, ça ne serait pas sympa d'être mis sur cette mémoire lente sans possibilité de contrôle fin, donc par défaut on va au plus rapide et si vous voulez optimisez, vous avez progmem qui vous permet de Le faire, avec les challenges d'une architecture 8/16 bits en adressage