Приветствую Вас ГостьПятница, 03.05.2024, 10:26

AVR & ARDUINO




Каталог статей

Главная » Статьи » Справочник

delay()

Описание

Приостанавливает выполнение программы на указанный промежуток времени (в миллисекундах). (В 1 секунде - 1000 миллисекунд.)

Синтаксис

 delay(ms);

Параметры

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

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

нет

Пример

int ledPin = 13; // Светодиод подсоединен к цифровому контакту 13
 
void setup()
{
 pinMode(ledPin, OUTPUT); // Конфигурируем цифровой контакт как выход
}
 
void loop()
{
 digitalWrite(ledPin, HIGH); // включаем светодиод
 delay(1000); // ждем секунду
 digitalWrite(ledPin, LOW); // выключаем светодиод
 delay(1000); // ждем секунду
}

Предупреждение

С помощью функции delay() достаточно просто заставить мигать светодиод. Помимо этого, во многих программах функция задержки используется для таких задач, как обработка дребезга контактов и пр. Несмотря на это, использование функции delay() в коде программы имеет существенные недостатки. В процессе действия delay() такие операции, как считывание данных с датчиков, математические вычисления или операции с выводами не могут выполняться. Фактически, функция delay() приводит к остановке практически всех операций. Альтернативный способ контролировать время - использование функции millis() (смотрите пример кода в Инструкции: Мигание без Delay). Опытные программисты обычно избегают использования delay() для установки временных интервалов больше нескольких десятков миллисекунд (за исключением очень простых программ Arduino).

Некоторые операции продолжают функционировать и во время выполнения delay(), поскольку она не запрещает прерывания. Это означает, что будут записываться данные, поступающие на вывод RX по последовательному интерфейсу, продолжит генерироваться ШИМ (analogWrite), а также обрабатываются остальные прерывания.

Смотрите также:

micros()

millis()

delayMicroseconds()

Инструкция: Мигание без Delay


Справочник

Материалы взяты с официального сайта проекта Arduino и представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License.



Источник: http://arduino.cc/en/Reference/Delay
Категория: Справочник | Добавил: magi (29.01.2015)
Просмотров: 1245 | Теги: останов, пауза | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Поиск
Вход на сайт
На правах рекламы

Мы переезжаем на сайт Arduino по-русски