Хранение многомерных массивов в PROGMEM

Patriot
Offline
Зарегистрирован: 25.06.2015

В общем, можно ли хранить многомерные массивы в PROGMEM? И как правильно их оттуда извлекать? 

Написал тестовый скетч, выводит что угодно, кроме нужных данных:

 

const byte letters[2][8][8] PROGMEM = {
  { // Space
    {0,0,0,0,0,0,0,0},
    {0,0,0,0,0,0,0,0},
    {0,0,0,0,0,0,0,0},
    {0,0,0,0,0,0,0,0},
    {0,0,0,0,0,0,0,0},
    {0,0,0,0,0,0,0,0},
    {0,0,0,0,0,0,0,0},
    {0,0,0,0,0,0,0,0}
  },
  { // !
    {0,0,0,0,1,0,0,0},
    {0,0,0,0,1,0,0,0},
    {0,0,0,0,1,0,0,0},
    {0,0,0,0,1,0,0,0},
    {0,0,0,0,1,0,0,0},
    {0,0,0,0,0,0,0,0},
    {0,0,0,0,1,0,0,0},
    {0,0,0,0,0,0,0,0}
  }
};
byte curChar[8][8];

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);

    for(int j=0; j<8; j++){
      for(int l=0; l<8; l++){
        Serial.print(letters[1][j][l]);
      }
      Serial.println();
    }

  
  
}

void loop() {
  // put your main code here, to run repeatedly:
  
}

 

roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014
Patriot
Offline
Зарегистрирован: 25.06.2015
curChar[j][l] = pgm_read_byte(&(letters[18][j][l]));

Благодарю! Все отлично заработало с этой командой.