Arduino跳过开关内的外壳

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

[每当counter_1的值为4时,Arduino就会自动将其更改为1,因此跳过第4种情况。

我该如何解决这个问题?我正在尝试克隆卡西欧F-91W的时间设置。每当我按下按钮时,计数器都会增加并移至我们将要更改的左一位(在这种方法中,数字只会闪烁)。我设置了4种情况:

  1. 第二位闪烁
  2. 分钟数闪烁
  3. 小时数闪烁
  4. 不眨眼
void updateCounter_1() {
    counter_1 = counter_1 + 1;
    if (counter_1 == 5) {
        counter_1 = 1;
    }
}

void settTime(){

    switch (counter_1) {
    case 1:
        lcd.setCursor(6, 1);
        lcd.print("  ");
        delay(150);
        updateHrs();
        updateMins();
        printSecs();
        delay(150);
        break;

    case 2:
        lcd.setCursor(3, 1);
        lcd.print("  ");
        delay(150);
        printMins();
        delay(150);
        break;

    case 3:
        lcd.setCursor(0, 1);
        lcd.print("  ");
        delay(150);
        printHrs();
        delay(150);
        break;

    case 4:
        break;
    }
}
arduino switch-statement arduino-uno arduino-ide arduino-c++
1个回答
0
投票

[每当counter_1的值为4时,Arduino就会自动将其更改为1,因此跳过第4种情况。

至少,不是基于您显示给我们的代码,这不太正确。

counter_1为4时,开关转到情况4,但该情况不执行任何操作。下次更新计数器时,它将重置为4。

请注意,情况1到3会有一些延迟,但是情况4则没有,因此似乎情况4不会发生。但这确实比其他方法快得多。

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