, CONST - . (, Flash ). .
const uint8_t BitFont[] PROGMEM = {
B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,2,
B10000000,B10000000,B10000000,B10000000,B10000000,B00000000,B10000000,B00000000,1,
B00000000,B00000000,B11100000,B11100000,B11100000,B00000000,B00000000,B00000000,3,
};
#define BITFONT_X_SIZE (sizeof(BitFont)/sizeof(BitFont[0]))
void setup() {
Serial.println("");
Serial.print(F("BitFont[] = "));
for(int y = 0 ; y < BITFONT_X_SIZE ; y++) {
Serial.print(pgm_read_byte_near( &(BitFont[1]) ) );
Serial.print(F(","));
}
Serial.println("");
}
, . PROGMEM avr-gcc, . -, pgm_read_byte_near . ,
, F(), Serial.print(), . Serial.print .
#define BRICK_COLUMNS 9
const uint8_t BitFont[][BRICK_COLUMNS] PROGMEM = {
{B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,2},
{B10000000,B10000000,B10000000,B10000000,B10000000,B00000000,B10000000,B00000000,1},
{B00000000,B00000000,B11100000,B11100000,B11100000,B00000000,B00000000,B00000000,3}
};
#define BITFONT_X_SIZE (sizeof(BitFont)/sizeof(BitFont[0]))
void setup() {
Serial.println("");
for(int x = 0 ; x < BITFONT_X_SIZE ; x++) {
Serial.print(F("BitFont["));
Serial.print(x);
Serial.print(F("][y] = "));
for(int y = 0 ; y < BRICK_COLUMNS ; y++) {
Serial.print(pgm_read_byte_near ( &(BitFont[1]) ));
Serial.print(F(","));
}
Serial.println("");
}
Serial.println("");
}