PulseIn

Материал из MK90.ORG wiki
Перейти к: навигация, поиск

Справка Язык | Библиотеки | Сравнение | Изменения

pulseIn()

Описание

Чтение импульса (положительный - HIGH или отрицательный - LOW перепад уровней) из заданного пина. Например, если value задано как HIGH, pulseIn() будет ожидать когда пин перейдет в состояние HIGH, затем начнется отчет времени до тех пор, пока пин перейдет в LOW - после этого отсчет времени останавливается. Возвращается длина импульса в микросекундах; если же в течение таймаута импульс не начинается, функция завершается и возвращает 0.

Из-за особенностей работы функции вычисление временного интервала большой длительности может давать значимую ошибку. Применима для интервалов от 10 микросекунд до 3-х минут.

Синтаксис

pulseIn(pin, value) 
pulseIn(pin, value, timeout)

Параметры

pin: номер пина, на котором необходимо ожидать импульса (int)

value: тип импульса: HIGH или LOW (int)

timeout (опционально): количество микросекунд на ожидание начала импульса; по умполчанию - одна секунда (unsigned long)

Возвращаемое значение

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

Пример


int pin = 7;
unsigned long duration;

void setup()
{
  pinMode(pin, INPUT);
}

void loop()
{
  duration = pulseIn(pin, HIGH);
}

Руководство по Wiring


Исправления, пожелания и новые статьи должны быть опубликованы через Форум.

Оригинальные тексты руководств и переводы распространяются Arduino и MK90 на условиях лицензии Creative Commons Attribution-ShareAlike 3.0 License. Примеры исходных кодов и ссылки являются общественным достоянием.