sto leggendo il file pgmspace.html che è all'egato con l'IDE e veso la fine c'è scritto come si dovrebbere procedere con le stringe... se non ho capito male dicono che non si può mettere nella flash una stringa alla volta, o almeno non lo prendono neanche in considerazione quel caso, boh...

comunque dicono di fare così mettendole tutte in una tabella:
char string_1[] PROGMEM = "String 1";
char string_2[] PROGMEM = "String 2";
char string_3[] PROGMEM = "String 3";
char string_4[] PROGMEM = "String 4";
char string_5[] PROGMEM = "String 5";
PGM_P string_table[] PROGMEM =
{
string_1,
string_2,
string_3,
string_4,
string_5
};
e poi per riportarle in ram quando ce n'è bisogno suggeriscono di fare così:
void foo(void)
{
char buffer[10];
for (unsigned char i = 0; i < 5; i++)
{
strcpy_P(buffer, (PGM_P)pgm_read_word(&(string_table[i])));
// Display buffer on LCD.
}
return;
}
ora non ho il robot per provare, secondo voi ha senso la cosa?