Функция останавливает выполнение полезной работы процессора на кол-во миллисекунд, переданное в аргументе.
Синтаксис
delay (unsigned long millis)
Принимаемое значение
Millis: кол-во миллисекунд, на которое будет заморожено выполнение программы.
Тип аргумента – unsigned long
Возвращаемое значение
Отсутствует
Замечания
Крайне не рекомендуется применять функцию для длительных задержек, так как, ввиду однопоточности и одноядерности процессора, выполнение полезного когда останавливается практически полностью (ядро стоит, работает только периферия). Рекомендуется использование задержек через millis(), что позволяет организовать подобие многозадачности.
При использовании функции не прекращается работа прерываний (если произойдет прерывание, то обработчик начнет работать), также продолжается передача/приём в буфер данных по последовательному порту, генерация ШИМ-сигнала также не прекращается.
Пример использования
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
int ledPin = 13; // светодиод подключен к 13 контакту void setup() { pinMode(ledPin, OUTPUT); // устанавливается режим контакта на выход } void loop() { digitalWrite(ledPin, HIGH); // включаем светодиод delay(1000); // ожидаем секунду digitalWrite(ledPin, LOW); // выключаем светодиод delay(1000); // ожидаем секунду } |