/*
Copiar memória de programa
*/
const char string_1[] PROGMEM = "String 1";
const char string_2[] PROGMEM = "String 2";
const char string_3[] PROGMEM = "String 3";
const char string_4[] PROGMEM = "String 4";
const char string_5[] PROGMEM = "String 5";
const char * const string_table[] PROGMEM = {
string_1,
string_2,
string_3,
string_4,
string_5
};
void setup(){
Serial.begin(115200);
char buffer[10];
for(unsigned char i = 0; i < 5; i++){
strcpy_P(buffer, (PGM_P)pgm_read_word(&(string_table[i])));
Serial.print(F("from buffer: '"));
Serial.print(buffer);
Serial.println(F("'"));
Serial.print(F("directly: '"));
Serial.print((__FlashStringHelper*)pgm_read_word(&(string_table[i])));
Serial.println(F("'"));
}
}
void loop(){
}