Jump to content

Recommended Posts

Posted

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

Posted

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...