Arduino:Справочник языка Arduino/Функции/Работа со временем/delay()

Материал из Онлайн справочника
Перейти к: навигация, поиск

Проверка/Оформление/Редактирование: Мякишев Е.А.


delay()

Останавливает выполнение программы на заданное в параметре количество миллисекунд (1000 миллисекунд в 1 секунде).

Синтаксис

delay(ms)

Параметры

ms: количество миллисекунд, на которое приостанавливается выполнение программы. (unsigned long)

Возвращаемое значение

Нет

Пример

  1. int ledPin = 13;                 // светодиод подключен на порт 13
  2.  
  3. void setup()
  4. {
  5.   pinMode(ledPin, OUTPUT);      // устанавливается режим порта - выход
  6. }
  7.  
  8. void loop()
  9. {
  10.   digitalWrite(ledPin, HIGH);   // включаем светодиод
  11.   delay(1000);                  // ожидаем секунду
  12.   digitalWrite(ledPin, LOW);    // выключаем светодиод
  13.   delay(1000);                  // ожидаем секунду
  14. }

Замечания по использования функции

Не рекомендуется использовать эту функцию для событий длиннее 10 миллисекунд, т.к. во время останова, не могут быть произведены манипуляции с портам, не могут быть считаны сенсоры или произведены математические операции. В качестве альтернативного подхода возможно контролирование времени выполнения тех или иных функций с помощью millis().

Большинство активности платы останавливается функцией delay(). Тем не менее работа прерываний не останавливается, продолжается запись последовательно (serial) передаваемых данных на RX порту, ШИМ сигнал (analogWrite) продолжает генерироваться на портах.

См.также

Внешние ссылки