我的 while 循环只取第一个值,即使它在 arduino 中重新定义了。

问题描述 投票:0回答:1

你好,我想在我的arduino代码中做一个中断,只执行其中的一部分。我使用2个while循环,第一个是应该检测当我按下一个按钮,第二个是当我释放它。

但即使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);
}
arduino
1个回答
0
投票

你正在声明 long button 每当 while 循环。由于你已经在你的 loop 没有必要在其他任何地方做。该 while 循环采用的是你的第一个声明,它不会改变,而 Serial.print 中定义的新内容。while 循环。

在你的两个 while 循环变化 long button = cs_4_6.capacitiveSensor(5);button = cs_4_6.capacitiveSensor(5);

希望对你有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.