pulseIn() - Arduino

Считывает длительность импульса (любого - 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 в случае отсутствия импульса в течение таймаута (unsigned long)

Пример

int pin = 7;
unsigned long duration;
 
void setup()
{
  pinMode(pin, INPUT);
}
 
void loop()
{
  duration = pulseIn(pin, HIGH);
}

Понравилась статья? Поделитесь ею с друзьями:

Вернуться в раздел: Описание функций справочника Дата публикации 20 апреля , 2017

Комментарии

Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.


Cлучайные товары

Посмотреть товар в Магазине »

Мы в соц сетях

Подпишись на канал Telegram

Portal-PK (Портал ПК) © 2015 - 2024
Разработка проектов
AT Block
DWIN Box