DelayMicroseconds

Материал из MK90.ORG wiki
Перейти к: навигация, поиск

Справка Язык | Библиотеки | Сравнение | Изменения

delayMicroseconds()

Описание

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

Синтаксис

delayMicroseconds(us)

Параметры

us: величина задержки в микросекундах (unsigned long)

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

Отсутствует

Пример

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 микросекунды и более, для меньших значений точность не гарантирована. Начиная с версии ArduinoIDE 0018, delayMicroseconds() больше не запрещает прерывания.

Смотри также

Руководство по Wiring


Исправления, пожелания и новые статьи должны быть опубликованы через Форум.

Оригинальные тексты руководств и переводы распространяются Arduino и MK90 на условиях лицензии Creative Commons Attribution-ShareAlike 3.0 License. Примеры исходных кодов и ссылки являются общественным достоянием.