Выход из цикла voidloop
- Войдите на сайт для отправки комментариев
Пт, 29/11/2013 - 19:19
Нужно решить простую проблему.
Зажечь лампу.
Погорела некоторе время (delay) и погасла на совсем.
Т.е. надо выйти из цикла voidloop.
Подскажи как ?
Спасибо.
никак это можно сказать "железный"
Решается следующим способом, выносишь код, который включает и выключает лампу с задержкой в отдельную функцию и вызываешь по необходимому условию.
Если надо чтобы вообще только один раз сработала то делаешь переменную глобальную, в которой фиксируешь срабатывание. и дополняешь твоё условие критерием чтобы эта переменная была "несработавшей."
Зажечь лампу. - delay = время
Погорела некоторе время (delay) и погасла на совсем. - delay = 0
Т.е. надо выйти из цикла voidloop. - не нужно никуда выходить.
Не работает.
При вводе delay = 0 дает ошибку.
А если после гашения delay(0), то естестственно не гасится, а постояноо повторяется горение с первонычальным Delay.
Зажигайте и тушите в setup();
никак это можно сказать "железный"
Решается следующим способом, выносишь код, который включает и выключает лампу с задержкой в отдельную функцию и вызываешь по необходимому условию.
Если надо чтобы вообще только один раз сработала то делаешь переменную глобальную, в которой фиксируешь срабатывание. и дополняешь твоё условие критерием чтобы эта переменная была "несработавшей."
delay(∞); * - что эквивалентно while(1);
Looka ! Спасибо ! Все в порядке !
Не работает.
При вводе delay = 0 дает ошибку.
А если после гашения delay(0), то естестственно не гасится, а постояноо повторяется горение с первонычальным Delay.
а, delay = время - работает? :D
имелось ввиду так - рулим значением делау, когда = 0, то ничего не делаем, когда > 0, то что-то делаем один раз.
Спасибо Клапауций.
Отличный вариант.