Gast
#367612
Sitze jetzt hier schon einige Zeit und versuche einen Pointer auf einen
String von einer Struktur in einem Array im Flash zu bekommen und
kriege es nicht gebacken. Das ganze sieht folgender maßen aus:
[C]
typedef struct stStrings {
const char *pString1;
const char *pString1;
} tStrings;
const char String1[] PROGMEM = "Hallo Welt ";
const char String2[] PROGMEM = "Hello World";
const char String3[] PROGMEM = "Hello Foo ";
const char String4[] PROGMEM = "Hello Bar ";
const tStrings MyArray[] PROGMEM = {
{ String1, String2 },
{ String3, String4 }
};
int main(void)
{
// Wenn ich mir den pointer direkt vom String hole gehts es
// wunderbar
const char *ptest1 = (const char*)String1;
uart_putstr_P(ptest1, 11);
// Pointer holen über Array und struct WILL NICHT GEHEN :-(
const char *ptest2 = MyArray[0].pString1;
uart_putstr_P(ptest2, 11);
while(1);
return 0;
}
[\C]
Was läuft denn da verkehrt in meinem Kopf?