Gast
#838727
Hallo C-Profis,
ich habe folgendes Problem:
Für ein Display-Menü habe ich mir ein Struct für die einzelnen Buttons
gebaut in der Form:
typedef const struct {
unsigned char xpos;
unsigned char ypos;
...
void (*program)(); //Zeiger auf Funktion
...
} but;
Nun speicher ich die Werte in einem Array aus diesen Structs in den
Flash:
const but button[MAX_BUTTONS] PROGMEM = {{10,20,...,dimming_high,...},
{...}};
"dimming high" ist nun die Funktion, auf die der Zeiger im Struct zeigt.
Verwende ich PROGMEM nicht und speicher das Array ganz normal, erreiche
ich die Funktion folgendermaßen:
(*button[index].program)();
Meine Frage ist jetzt, wie kann ich die entsprechende Funktion starten,
wenn mein Zeiger im Flash liegt? Ist dies überhaupt möglich?
Vielen Dank im voraus.
Gruß
Niklas