Hi zusammen. Ich stehe seit Tagen auf dem Schlauch bei der folgenden Anforderung: Ich programmiere gerade ein kleines Hardwaretool mit Menüführung. Dabei lasse ich die Rotary-Encoder und Buttons bisher immer mit einem Switch Befehl (entsprechend in welchem Menüpunkt ich mich befinde) auswerten. Das ganze wird aber auf diese Weise etwas undurchsichtig im Code. Meine Frage ist deshalb, gibt es eine Möglichkeit wie ich z.B. eine Funktion die ich auf die Flanke eines Buttons gelegt habe (die also gecalled wird wenn eine Flanke erkannt wurde) dynamisch ändern lasse. Ich denke da an so eine Art Pointer aber nur für eine Funktion und nicht für eine Variable. Ist das Möglich und hat jemand einen Tip wonach ich suchen kann? Lieben dank schon mal.
Markus N. schrieb: > Ich denke da an so eine Art Pointer aber nur für eine Funktion Genau das: https://www.geeksforgeeks.org/function-pointer-in-c/ Wenn du das Menü sowieso als (verkettete) Liste eines Strukturdatentyps (oder für C++ eben eine Klasse) hältst, kannst du den Funktionspointer auch in diesem Strukturdatentyp unterbringen. mfg mf
Ja das geht, man kann auf Funktionen zeigen und diese indirekt via Pointer aufrufen. In dieser Diskussion ist ein schönes Beispiel: https://forum.arduino.cc/t/pointers-to-function/58518/3
Ich danke euch, vor allem für die wahnsinnig schnelle Antwort. Das hilft mir sehr weiter!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.