← К навигатору курса · Раздел 5 из 11
объяснить, почему delay() блокирует программу, использовать millis() для отсчёта интервалов без остановки кода, вести два независимых процесса одновременно. В конце — станция с двумя независимыми ритмами.
Краткий план раздела
После этого раздела ты сможешь:
- объяснить, почему delay() блокирует программу, использовать millis() для отсчёта интервалов без остановки кода, вести два независимых процесса одновременно. В конце — станция с двумя независимыми ритмами.
📖 — тексты | 👀 — видео | ❓ — вопросы | 💻 — задания | ☝️ — обязательно | 🔽 — не обязательно
Содержание
📖 Текстовый урок
❓ Контрольные вопросы
- Что возвращает команда millis()?
- Почему delay(1000) внутри loop() — проблема для отзывчивости станции?
- Зачем для millis() используют тип unsigned long, а не обычный int?
- previousMillis = 1000, interval = 500, currentMillis = 1600. Сработает ли усло?
- previousMillis = 1000, interval = 500, currentMillis = 1300. Сработает ли усло?
- Программист забыл строку previousMillis = currentMillis; внутри if. Что произо?
- currentMillis = 900. Для LED1 (prevLed1=500, interval1=300) и LED2 (prevLed2=7?
- В программе используется millis() для интервалов, но внутри loop() всё равно с?
- Тип unsigned long, в котором хранится millis(), физически переполняется пример?
💻 Задания
- Напиши код сам. Допиши условие вместо ___, которое проверяет, что прошло не ме?
- Напиши программу целиком (около 11 строк). Пин 8 — светодиод. Через каждые 400?
- Напиши программу целиком (около 14 строк). Два независимых процесса без единог?
Итоги раздела
- millis() вместо delay() — несколько процессов одновременно
