Gast
#237568
Hallo,
leider muss ich diese Frage hier posten. Ich muss wohl zugeben das ich
irgendwo eine Wissenlücke habe bei PROGMEM und Zeiger. Ich hoffe jemand
kann meine Wissenslücke schliessen.
const unsigned char tabelle1[] PROGMEM = {0x01 , 0x08 , 0x07};
const unsigned char tabelle2[] PROGMEM = {0xFF , 0xFE , 0xFA};
unsigned char a;
unsigned char i;
unsigned char f;
PGM_P table[2] PROGMEM = {tabelle1, tabelle2};
int main(void)
{
i=0;
f=2;
a = pgm_read_byte(&table[0][2]);
}
Der Code funktioniert und ich kriege die richtigen Daten.
Tausche ich aber die Zeile gegen die folgende Zeile aus kriege ich
immer falsche Werte. Muss ich mit strcmp_P arbeiten oder wo mache ich
den Fehler?
a = pgm_read_byte(&table[i][f]);
Gruß,
Dirk