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
Gast
#7037695
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!
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.