Nicy
13.01.2009, 21:21
Hallo zusammen!
Habe schon etliche Stunden im Internet gesucht sowie selber versucht es zu lösen. Jedoch ohne Erfolg. ](*,)
Ich möchte die Flash-Adresse dem Zeiger eines Prototyps übergeben, dieser soll wiederrum den Inhalt der Flash-Adresse auslesen.
Es funktioniert einfach nicht. ](*,) :-k
Die Daten liegen im Flash als Mehrd.-Array:
const uint16_t Arystatusicon[][2] PROGMEM = {
{0b1111111111111111,0b0011011111100000},
{0b1111111111111111,0b0011011111100000},
};
Der Prototyp soll die mitgebene Adresse verwenden, um den Inhalt des Flasharrays auszulesen:
void s65Iconsrom(PGM_P * string) {
uint16_t bzeile; uint8_t zeile;
uint8_t i;
bzeile = pgm_read_word(&string[i][zeile]);
}
Der Aufruf des Prototyps habe mit beiden Versionen probiert:
s65Iconsrom((PGM_P*)&Arystatusicon);
Und:
s65Iconsrom((PGM_P*)pgm_read_word(&Arystatusicon));
Jedoch funktioniert es mit keinem der beiden. Er liest irgendein Müll aus.
Vielen Dank!
Habe schon etliche Stunden im Internet gesucht sowie selber versucht es zu lösen. Jedoch ohne Erfolg. ](*,)
Ich möchte die Flash-Adresse dem Zeiger eines Prototyps übergeben, dieser soll wiederrum den Inhalt der Flash-Adresse auslesen.
Es funktioniert einfach nicht. ](*,) :-k
Die Daten liegen im Flash als Mehrd.-Array:
const uint16_t Arystatusicon[][2] PROGMEM = {
{0b1111111111111111,0b0011011111100000},
{0b1111111111111111,0b0011011111100000},
};
Der Prototyp soll die mitgebene Adresse verwenden, um den Inhalt des Flasharrays auszulesen:
void s65Iconsrom(PGM_P * string) {
uint16_t bzeile; uint8_t zeile;
uint8_t i;
bzeile = pgm_read_word(&string[i][zeile]);
}
Der Aufruf des Prototyps habe mit beiden Versionen probiert:
s65Iconsrom((PGM_P*)&Arystatusicon);
Und:
s65Iconsrom((PGM_P*)pgm_read_word(&Arystatusicon));
Jedoch funktioniert es mit keinem der beiden. Er liest irgendein Müll aus.
Vielen Dank!