Witam.
Chce zrobić coś takiego:
struct Data { const char *foo; unsigned char a; };
Data PROGMEM data = { PSTR("Coś"), 4 };
Oczywiscie nie mogę, bo PSTR to jest "__extension__" i można tego używać chyba tylko jako argumentu funkcji: " statement-expressions are not allowed outside functions nor in template-argument lists"
W kazdym razie padłem na tym że nie mam jak zainicjować statycznej const struktury. Chciałbym ja inicjować dokladnie tak jak to widać, tzn w miejscu.
Tak też się nie da:
const char PROGMEM *z = "Inne";
Data PROGMEM data2 = { z, 8 };
Wylatuje z: "error: data2 causes a section type conflict"
Zamiana z const char* na PGM_P tez nic nie pomaga. Co jeszcze powinienem sprawdzić?
WinAVR-20100110.