你好,我试图在我的arduino代码中中断,只执行一次其中的一部分。我使用2 while循环,第一个假设在我按下按钮时检测,第二个假设在释放按钮时检测。在这两个循环之间,我只想执行一次代码。
但即使这段时间的情况很好,它也不想停止。
我的串行监视器
我的代码:
void loop()
{
long button = cs_4_6.capacitiveSensor(5);
while(button < 1000)
{
long button = cs_4_6.capacitiveSensor(5);
Serial.println(button);
Serial.println("not ok");
}
if(nbButton[3] == 0)
{
nbButton[counter] = 1;
counter++;
}
else
{
int nbButton[] = {0, 0, 0, 0};
}
while(button > 1000)
{
long button = cs_4_6.capacitiveSensor(5);
Serial.println(button); // print sensor output 2
Serial.println("ok");
}
delay(50);
}
每次在while
循环中声明long button
。由于您已经在loop
开始时声明了它,因此没有必要在任何其他地方进行声明。while
循环采用您的第一个声明,该声明不变,而Serial.print
采用仅在while
循环中定义的新声明。
在两个while
循环中,将long button = cs_4_6.capacitiveSensor(5);
更改为button = cs_4_6.capacitiveSensor(5);
希望有帮助,