delayMicroseconds() / Arduino
Описание
Приостанавливает программу на определенное время, указанное в параметре (в микросекундах).
В настоящее время, максимальное значение, которое может выдать точная задержка, составляет 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()
больше не отключает прерывания.