Question: Comment je peux afficher mon texte par la fonction Text() ? tous mes essais échouent lamentablement par un défilement continu de toutes les lettres possible et imaginables.... sur a cause de la longueur de la chaine ??
je sais que la solution est surement évidente j'ai essayé le
const __FlashStringHelper *
le
pgm_read_word(&Menu_List[index]) en combinaisons aussi bien que seuls ... pareil
dans le meilleur des cas Text(pgm_read_word(&Menu_List[0])); affiche rien ....
vous ne pouvez pas car la fonction Text() attend un (pointeur sur la première case d'un) tableau en SRAM alors que si vous avez utilisé PROGMEM correctement le tableau est en FLASH
on ne peut pas différencier au run time (à cause de l'architecture dite Harvard) si un pointeur est en mémoire flash ou en mémoire SRAM. la classe Print "triche" en introduisant un nouveau type __FlashStringHelper avec F() ce qui permet au compilateur de savoir quelle version appeler
Si vous savez où se trouve le stockage, le parcours mémoire n'est pas effectué de la même façon, voici un exemple :