Функція pulseIn()

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

pulseIn()


Зчитує імпульс (HIGH чи LOW) на піні. Наприклад, якщо значення є високим (HIGH), pulseIn() чекає, поки стан піна зміниться на HIGH, починає відлік, потім чекає, поки стан піна не зміниться на LOW, і зупиняє відлік. Повертає тривалість імпульсу у мікросекундах або 0, якщо за час очікування не було отримано повного імпульсу.

Хронометраж цієї функції було визначено емпірично, при коротших імпульсах можливі помилки. Працює з імпульсами довжиною від 10 мікросекунд до 3 хвилин. Також зверніть увагу, що якщо стан піна вже високий на момент виклику функції, вона почекає, поки стан не зміниться на низький, а потім знову на високий перед початком відліку. Ця процедура може бути використана тільки якщо переривання активовані. Крім того, найвища роздільна здатність досягається при коротких інтервалах.

Синтаксис

pulseIn(пін, значення)

pulseIn(пін, значення, очікування)

Параметри

пін: номер піна, з якого Ви хочете зчитувати імпульс (int)

значення: тип імпульсу для зчитування, HIGH чи LOW (int)

очікування (опціонально): кількість мікросекунд, яку слід чекати, щоб імпульс був виконаним: функція повертає 0, якщо не отримано повного імпульсу за час очікування. Стандартне значення становить одну секунду (unsigned long)

Повертає

тривалість імпульсу (у мікросекундах) або 0, якщо не було повного імпульсу за час очікування (unsigned long)

Приклад

int pin = 7;

unsigned long duration;

void setup()

{

  pinMode(pin, INPUT);

}
void loop()

{

  duration = pulseIn(pin, HIGH);

}



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

Коментарі 0

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