Привет, народ! Столкнулся с проблемой. Как в этом куске кода реализовать задержку на millis ()??? Дело в том, что на delay основная программа сильно тормозит, таймер который ведёт отсчёт зависает на время выполнения этого действия
Просто не использовать делей, а отсчитывать секунды и использовать условия if, чтоб не блокировать основной поток. Или использовать threadы, таски и так далее. Логично, что если ты блокируешь поток то ничего хорошего не выйдет
Вести состояния что тебе щас нужно делать Смотришь там между стартом операции 1 прошло 1 секунда, выполняешь операцию 2, и так далее Впрочем новичку это тяжко. Посмотри в сторону зреадов
Так к этому всё и идет собственно. Современные кодеры вообще в оптимизацию не умеют. Они просто идут к дяде и кричат - не хватает минералов ядер/памяти. Нужно еще 100 гигов Нахуй вообще в программе после malloc вызывать free? Программа завершит выполнение и все освободится
Комментарии: 11
Anonim
Не использовать делей Это есп или ардуино?
Murad
Как написать строчку нужно? Пример приведите. Ардуино.
Anonim
Просто не использовать делей, а отсчитывать секунды и использовать условия if, чтоб не блокировать основной поток. Или использовать threadы, таски и так далее. Логично, что если ты блокируешь поток то ничего хорошего не выйдет
Murad
К примеру? Как отсчитывать если это выполняется внутри if?
Anonim
Хз. Поставить переменную что нужно выполнить ДРУГУЮ задачу Отсчитать секунды и когда они наступят выполнить ее и так далее
Serge
Разность, конечно, сравниваешь
Anonim
Вести состояния что тебе щас нужно делать Смотришь там между стартом операции 1 прошло 1 секунда, выполняешь операцию 2, и так далее Впрочем новичку это тяжко. Посмотри в сторону зреадов
Serge
Ты понимаешь, что так можно ненароком воспитать кодера, которому для моргания диодом нужна RPI?
Anonim
Так к этому всё и идет собственно. Современные кодеры вообще в оптимизацию не умеют. Они просто идут к дяде и кричат - не хватает
минераловядер/памяти. Нужно еще 100 гигов Нахуй вообще в программе после malloc вызывать free? Программа завершит выполнение и все освободитсяSaw
просто, пиши и все. Получится строчка
Serge
В сетап или где дергаешь миллис, чтобы узнать стартовое время, кладешь в переменную. В мейнлуп дергаешь миллис и сравниваешь с этой переменной.