delayMicroseconds() / Arduino

Добавлено 1 ноября 2018 в 20:38

Описание

Приостанавливает программу на определенное время, указанное в параметре (в микросекундах).

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

Синтаксис

delayMicroseconds(us)

Параметры

us: количество микросекунд для паузы (unsigned int).

Возвращает

Ничего.

Пример кода

Данный код настраивает вывод 8 для работы на выход. Он посылает последовательность импульсов с периодом приблизительно 100 микросекунд. Приблизительность связана с выполнением других инструкций в коде.

int outPin = 8;                 // цифровой вывод 8

void setup()
{
  pinMode(outPin, OUTPUT);      // настроить цифровой вывод на выход
}

void loop()
{
  digitalWrite(outPin, HIGH);   // включить вывод
  delayMicroseconds(50);        // пауза на 50 микросекунд
  digitalWrite(outPin, LOW);    // выключить вывод
  delayMicroseconds(50);        // пауза на 50 микросекунд
}

Примечания и предупреждения

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

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

 

Теги

ArduinoЗадержкаПрограммирование

На сайте работает сервис комментирования DISQUS, который позволяет вам оставлять комментарии на множестве сайтов, имея лишь один аккаунт на Disqus.com.

В случае комментирования в качестве гостя (без регистрации на disqus.com) для публикации комментария требуется время на премодерацию.