【发布时间】:2013-04-24 18:53:23
【问题描述】:
我对 c 和 Raspberry Pi 比较陌生,正在尝试简单的程序。我想要的是当按钮被按下时它 printfs 一次并且在再次按下按钮之前不会再次 printf,即使按钮被按住(有点像闩锁)。我想也许添加第二个 while 循环可以解决这个问题,但有时它仍然无法检测到按钮按下。
#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;
}
【问题讨论】:
-
您可能会发现谷歌搜索“按钮去抖动”会有所帮助。
-
这完全是为了知道技术术语是什么,这样我就可以查到它。谢谢
-
乐于提供帮助 - 我认为这不值得回答,但有时使用正确的搜索词确实会有所帮助!
标签: c button raspberry-pi debouncing