Что делает функция wait()?

Привет, я начал изучать Java и сейчас пытаюсь выучить C++. У меня есть этот кусок кода и не могу тренироваться, что он делает. Я предполагаю, что это заставляет программу ждать определенный период времени, прежде чем она запустится. Но некоторые дальнейшие объяснения были бы очень полезны.

Я добавил комментарии к разделам, для которых я хотел бы получить дополнительное объяснение.

for (;;) {
        wait (0.02); //What does this do?

        if (ab1_On) {
            con += 104;
            ab1_On = 0; //Why is the value reset to 0?
        }
        if (ab2_On) {
            con += 208;
            ab2_On = 0; //Why is the value reset to 0?
        }

        con++;
        if (con > 311) {
            con -= 312;
        }
        for (int i=0; i<3; i++) {
            bright[i] = brilvl (con + (i * 104));
        }
    }
}

1 ответ

Решение

wait() является функцией, определенной в SDK mbed

https://developer.mbed.org/handbook/Wait

В вашей программе wait(0.02) заблокирует выполнение на 20 миллисекунд.

for (;;) это бесконечный цикл, он будет работать вечно. wait() может использоваться для предотвращения последствий отказов переключателя, если ab1_on а также ab2_on устанавливаются каким-то механическим переключателем.

Другие вопросы по тегам