C-Programm eine Schaltfläche, um eine Aufgabe auszuführen, die einmal, wenn Sie gedrückt werden (latch)

Ich bin relativ neu in c und dem Raspberry Pi und versuche einfache Programme. Was ich möchte ist, wenn die Taste gedrückt wird, es printfs einmal und nicht printf wieder, bis die Taste erneut gedrückt wird, selbst wenn die Taste gedrückt gehalten wird (eine Art Riegel). Ich dachte, vielleicht hinzufügen der zweiten while-Schleife, würde dieses Problem beheben, aber manchmal ist es immer noch nicht erkennen, eine Taste drücken.

#include <bcm2835.h>
#include <stdio.h>
#define PIN RPI_GPIO_P1_11

int main()
{
    if(!bcm2835_init())
        return 1;

    bcm2835_gpio_fsel(PIN, BCM2835_GPIO_FSEL_INPT);

    while(1)
    {
        if(bcm2835_gpio_lev(PIN))
        {
            printf("The button has been pressed\n");
        }

       while(bcm2835_gpio_lev(PIN)){}
    }

    bcm2835_close();
    return 0;
}
  • Vielleicht finden Sie eine google-Suche nach 'Taste entprellen' hilfreich zu sein.
  • Es ist alles zu wissen, was der Fachbegriff, so kann ich schauen Sie. Danke
  • Gerne helfen - ich glaube nicht, dass es garantiert eine Antwort, aber mit dem richtigen Begriff zu suchen, hilft wirklich manchmal!
InformationsquelleAutor Marmstrong | 2013-04-30
Schreibe einen Kommentar