Функція 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