Описание
Приостанавливает выполнение программы на указанный промежуток времени (в микросекундах). В одной миллисекунде 1000 миллисекунд, и 1 000 000 микросекунд.
На данный момент наибольшее число, позволяющее сформировать точную задержку, — 16383. В будущих версиях Ардиуно этот показатель может быть изменен. Для создания задержек длительностью больше, чем несколько тысяч микросекунд, используйте функцию delay().
Синтаксис
delayMicroseconds(us)
Параметры
us: количество микросекунд, на которые необходимо приостановить программу (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() больше не отключает прерывания.