помогите с таймером в цикле WHILE

sumin_alex
Offline
Зарегистрирован: 27.09.2017

Доброго времени суток! Подскажите как можно реализовать таймер в цикле while. То есть выполняем что-то , пока не пройдет например 3 секунды. Пробывал разные операции с millis, в циклах IF они работают, но в while никак не хотят работать(((

В моём случае я выполняю процедуру, пока  pin gena == LOW || (тут надо поставить таймер например 3 сек).

пример кода:

while (!digitalRead(gena) == LOW || ??????) {
       enginestartfunc();      
       }
Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017
DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015
unsigned long lastMillis = millis();
while (digitalRead(gena) == HIGH && !(millis() - lastMillis > 3000) ) {
       enginestartfunc();      
       }