Функція delayMicroseconds()

Документація

delayMicroseconds()


Призупиняє виконання програми на кількість часу у мікросекундах, визначену як параметр. У мілісекунді тисяча мікросекунд, у секунді мільйон мікросекунд.

Зараз найбільше значення робитиме затримку точно 16383 мкс. У майбутніх версіях Arduino це може змінитися. Для затримок, довших за кілька тисяч мікросекунд, натомість слід використовувати функцію delay().

Синтаксис

delayMicroseconds(мкс)

Параметри

мкс: кількість мікросекунд для затримки (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() більше не відключає переривання.

Повернутись до головної

Коментарі 0

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.