Arduino:Справочник языка Arduino/Функции/Дополнительные функции ввода/вывода/pulseIn(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
Строка 10: Строка 10:
== Синтаксис ==
== Синтаксис ==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
pulseIn(pin, value)
pulseIn(pin, value)
pulseIn(pin, value, timeout)
pulseIn(pin, value, timeout)
Строка 17: Строка 17:
===Параметры===
===Параметры===


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
pin: номер порта входа/выхода, на котором будет ожидаться сигнал. (int)
pin: номер порта входа/выхода, на котором будет ожидаться сигнал. (int)
value: тип ожидаемого сигнала — HIGH или LOW.
value: тип ожидаемого сигнала — HIGH или LOW.
Строка 29: Строка 29:
==Пример==
==Пример==


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
int pin = 7;
int pin = 7;
unsigned long duration;
unsigned long duration;

Версия от 12:41, 20 мая 2023

Проверка/Оформление/Редактирование: Мякишев Е.А.


pulseIn()

Считывает длину сигнала на заданном порту (HIGH или LOW). Например, если задано считывание HIGH функцией pulseIn(), функция ожидает пока на заданном порту не появиться HIGH. Когда HIGH получен, включается таймер, который будет остановлен когда на порту вход/выхода будет LOW. Функция pulseIn() возвращает длину сигнала в микросекундах. Функция возвращает 0, если в течение заданного времени (таймаута) не был зафиксирован сигнал на порту.

Возможны некоторые погрешности в измерение длинных сигналов. Функция может измерять сигналы длиной от 10 микросекунд до 3 минут.

Синтаксис

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

Параметры

pin: номер порта входа/выхода, на котором будет ожидаться сигнал. (int)
value: тип ожидаемого сигнала  HIGH или LOW.
timeout (опционально): время ожидания сигнала (таймаут) в микросекундах; по умолчанию - одна секунда. (unsigned long)

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

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

Пример

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

См.также

Внешние ссылки