Описание
Приостанавливает выполнение программы на указанный промежуток времени (в микросекундах). В одной миллисекунде 1000 миллисекунд, и 1 000 000 микросекунд.
На данный момент наибольшее число, позволяющее сформировать точную задержку - 16383. В будущих версиях Arduino этот показатель может быть изменен. Для создания задержек длительностью больше, чем несколько тысяч микросекунд, используйте функцию 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() больше не отключает прерывания.
Смотрите также:
micros()
millis()
delay()
Справочник
Материалы взяты с официального сайта проекта Arduino и представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License.
Источник: http://arduino.cc/en/Reference/DelayMicroseconds |