Jump to content

Recommended Posts

Geschrieben

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

Geschrieben

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.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...