Пример
Следующий фрагмент кода иллюстрируют, как читать и писать данные в PROGMEM
#include <avr/pgmspace.h>
// save some unsigned ints
const PROGMEM uint16_t charSet[]={65000,32796,16843,10,11234};
// save some chars
const char signMessage[] PROGMEM ={"I AM PREDATOR, UNSEEN COMBATANT. CREATED BY THE UNITED STATES DEPART"};
unsignedint displayInt;
int k;// counter variable
char myChar;
voidsetup(){
Serial.begin(9600);
while(!Serial);
// put your setup code here, to run once:
// read back a 2-byte int
for(k =0; k <5; k++)
{
displayInt = pgm_read_word_near(charSet + k);
Serial.println(displayInt);
}
Serial.println();
// read back a char
int len = strlen_P(signMessage);
for(k =0; k < len; k++)
{
myChar = pgm_read_byte_near(signMessage + k);
Serial.print(myChar);
}
Serial.println();
}
voidloop(){
// put your main code here, to run repeatedly:
}