Bonjour,
Les macro c'est pratique mais ça cause plus de problèmes qu'autre chose au final.
Rien en vaut une bonne vieille déclaration à la main "propre" ![]()
Pour la macro de lecture une fonction "inline" serait plus adapté (vérif des arguments lors de la compilation).
Ps :
PROGMEM prog_char name[] = str;
Les types prog_... sont déprécié, comme le précise la référence de la avr-libc :
http://www.nongnu.org/avr-libc/user-manual/group__avr__pgmspace.html#gaa475b6b81fd8b34de45695da1da523b6
Il est désormais conseillé d'utiliser les types classiques (char, int, ...) avec le mot clef PROGMEM et de rendre la variable const !
(les nouvelles versions du compilateurs GCC mettent en flash toute variables de type const, le mot clef PROGMEM est tout simplement ignoré)