uwew Geschrieben October 11, 2020 at 18:37 Geschrieben October 11, 2020 at 18:37 Derzeit versuche ich eine Benutzerführung zur Steuerung von 2 Peristaltikpumpen (Schrittmotoren) auf einem LCD128x64 in C zu programmieren. Dazu verwende ich sechs Pushbuttons. Dabei hänge ich im Moment an folgendem Problem fest: Mit folgendem Callback registriere ich das Drücken eines buttons: lcd_128x64_register_callback(&lcd01, LCD_128X64_CALLBACK_GUI_BUTTON_PRESSED, (void (*)(void))cb_button01_pressed, NULL); Die Funktion cb_button01_pressed hat nur folgenden Inhalt: void cb_button01_pressed(void *user_data) { printf("Hello Button01\n"); } Mein Problem: Wie stelle ich fest, welcher der sechs Pushbuttons gedrückt wurde und wie übergebe ich diese Information an die Funktion "cb_button01_pressed()" damit ich jeweils unterschiedliche Funktionen ausführen kann? Herzlichen Dank für eure Hilfe Zitieren
bernhard.graeuler Geschrieben October 12, 2020 at 06:29 Geschrieben October 12, 2020 at 06:29 Hi, schau Dir mal das C/C++ GUI Beispiel an, die Callback Funktion für LCD_128X64_CALLBACK_GUI_BUTTON_PRESSED wird in der Doku bei den Callbacks beschrieben. Wenn Du cb_button01_pressed wie folgt deklarierst: void cb_button01_pressed(uint8_t index, bool pressed, void *user_data) { printf("Hello Button01\n"); } Müsstest Du den Button über den Parameter index auslesen können. Zitieren
uwew Geschrieben October 12, 2020 at 09:47 Autor Geschrieben October 12, 2020 at 09:47 Hi Bernhard. Vielen Dank für den Tip. So funktioniert es! Gruss Uwe Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.