delayMicroseconds()

Описание

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

На данный момент наибольшее число, позволяющее сформировать точную задержку, - 16383. В будущих версиях Ардиуно этот показатель может быть изменен. Для создания задержек длительностью больше, чем несколько тысяч микросекунд, используйте функцию delay().


Синтаксис

delayMicroseconds(value);


Параметры

  • value: количество микросекунд, на которые необходимо приостановить программу (unsigned int).


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

Нет.


Пример

int outPin = 8;                 // цифровой вывод 8
 
void setup()
{
  pinMode(outPin, OUTPUT);      // конфигурируем цифровой вывод как выход
}
 
void loop()
{
  digitalWrite(outPin, HIGH);   // включаем вывод
  delayMicroseconds(50);        // задержка в 50 микросекунд 
  digitalWrite(outPin, LOW);    // выключаем вывод
  delayMicroseconds(50);        // задержка в 50 микросекунд
}

Вывод номер 8, сконфигурированный как выход, формирует последовательность импульсов с периодом 100 микросекунд


Предупреждения и известные проблемы

Данная функция работает с высокой точностью в диапазоне от 3 микросекунд и выше. При более коротких задержках точная работа delayMicroseconds() не гарантируется.

Начиная с версии Arduino 0018, функция delayMicroseconds() больше не отключает прерывания.


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

Расскажи о нас

Сообщение

Если у Вас есть опыт в работе с Arduino и собственно есть время для творчества, мы приглашаем всех желающих стать авторами статей публикуемых на нашем портале. Это могут быть как уроки, так и рассказы о ваших экспериментах с Arduino. Описание различных датчиков и модулей. Советы и наставления начинающим. Пишите и размещайте свои статьи в соответсвующей ветке форума.