Функция millis считается более эффективной альтернативой функции delay по нескольким причинам:
- Неблокирующий подход. 5 В отличие от delay, millis не останавливает выполнение программы, а возвращает количество миллисекунд, прошедших с момента запуска. 45 Это позволяет организовать выполнение задач по расписанию без блокировки основного цикла. 5
- Точное управление временем. 3 С помощью millis можно гарантировать, что цикл будет выполняться с нужной частотой, независимо от времени его выполнения. 3 С delay это невозможно, так как неизвестно, сколько времени займёт выполнение цикла. 3
- Возможность реагировать на внешние события. 1 Если программа должна реагировать на нажатие кнопки или изменение состояния датчика, использование delay может привести к тому, что эти события будут проигнорированы. 1 С millis опрос состояния продолжается непрерывно, без остановки программы. 4
- Масштабируемость. 5 Можно легко добавить управление несколькими задачами, работающими с разными интервалами, просто создав для каждой задачи свой набор переменных для хранения времени последнего выполнения и интервала. 5
Таким образом, использование millis позволяет реализовать многозадачность, создавать более сложные и эффективные программы. 1