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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
 
(не показаны 2 промежуточные версии 2 участников)
Строка 8: Строка 8:
== Синтаксис ==
== Синтаксис ==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
delay(ms)
delay(ms)
</syntaxhighlight>
</syntaxhighlight>
Строка 14: Строка 14:
=== Параметры ===
=== Параметры ===


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
ms: количество миллисекунд, на которое приостанавливается выполнение программы. (unsigned long)
ms: количество миллисекунд, на которое приостанавливается выполнение программы. (unsigned long)
</syntaxhighlight>
</syntaxhighlight>
Строка 20: Строка 20:
=== Возвращаемое значение ===
=== Возвращаемое значение ===


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
Нет
Нет
</syntaxhighlight>
</syntaxhighlight>
Строка 26: Строка 26:
==Пример==
==Пример==


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
int ledPin = 13;                // светодиод подключен на порт 13
int ledPin = 13;                // светодиод подключен на порт 13
   
   
Строка 55: Строка 55:
<references />
<references />


{{Навигационная таблица/Справочник языка Arduino}}
{{Навигационная таблица/Портал/Arduino}}
{{Навигационная таблица/Arduino библиотеки}}
 
 
 
 


[[Категория:Справочник языка Arduino]]
[[Категория:Справочник языка Arduino]]
[[Категория:Функция]]
[[Категория:Функция]]

Текущая версия от 11:28, 8 июля 2023

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


delay()

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

Синтаксис

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);                  // ожидаем секунду
}

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

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

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

См.также

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