-
-
Erfahrener Benutzer
Fleißiges Mitglied
PROGMEM array auslesen geht nicht
hallo
ich hab nen zweidimensionales array
unsigned char shifted[68][2]= {
(tastatur scancodes)
wenn ich das array so lasse kommen die richtigen werte am pc an
while(kbcode!=unshifted[c][0]&&unshifted[c][0]!=0) c++;
uart_putc(unshifted[c][1]);
uart_putc(shifted[c][1]);
wenn ich das attribut PROGMEM hinzufüge, um RAM speicher einzusparen
unsigned char shifted[68][2] PROGMEM= {
kommt plötzlich nur noch blödsinn raus.
woran liegt das ??? danke schonmal
mfg maddin
-
Erfahrener Benutzer
Roboter Experte
Wie liest Du denn den Flash aus? Mit shifted[x][y] geht das nit. Da musst Du pgm_read_byte(adresse) benutzen, sonst greifst Du auf den RAM zu. Wie GCC das Array im Flash ordnet, musst Du selber rausfinden. Ich glaub in deinem Fall würde es shifted[0][0], shifted[1][0], shifted[2][0]... shifted [0][1], shifted[1][1] usw sein.
MfG Mark
-
Erfahrener Benutzer
Fleißiges Mitglied
ok danke. wie finde ich denn raus, welche adresse im flash zB shifted[0][0] hat ?
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen