Что делает функция 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
устанавливаются каким-то механическим переключателем.