C语言 如何让我的源等到按钮释放后再继续



如果我按下按钮 1,它会向我的屏幕发送垃圾邮件,说它被按下了,我希望它等到释放后再执行任何其他操作,类似于切换而不是切换。

之前尝试过添加延迟,但这并不能完全满足我的需求......我希望它等到发布,而不是等待艰难的设定时间

#include <stdio.h>
#include <wiringPi.h>
int main(void) {
    wiringPiSetupGpio();
    while(1) {
        if(!digitalRead(8) && digitalRead(7)) {
            printf("Button-1 pressedn");
        }
        if(!digitalRead(7) && digitalRead(8)) {
            printf("Button-2 pressedn");
        }
    }
    return 0;
}

预期成果:

Button-1 pressed

实际结果:

Button-1 pressed
Button-1 pressed
Button-1 pressed
Button-1 pressed
Button-1 pressed
Button-1 pressed
etc...

您必须自己对此行为进行编程。

int sevenDown = 0;
while(1) {
    if(!sevenDown && digitalRead(7)) {
        sevenDown = 1n");
    }
    if(sevenDown && !digitalRead(7)) {
        printf("Button-1 pressedn");
        sevenDown = 0;
    }
}

最新更新