pulseIn() / Arduino
Описание
Считывает импульс (HIGH
или LOW
) на выводе. Нарпимер, если value равно HIGH
, pulseIn()
ожидает, что состояние на выводе перейдет с LOW
на HIGH
, начинает отсчет времени, и затем ждет, что состояние на выводе перейдет на LOW
и останавливает отсчет времени. Возвращает длину импульса в микросекундах или сдается и возвращает 0, если в течение таймаута не было получено полного импульса.
Время этой функции были определены эмпирически и, вероятно, будут показывать ошибки в более длинных импульсах. Работает с импульсами длиной от 10 микросекунд до 3 минут.
Синтаксис
pulseIn(pin, value)
pulseIn(pin, value, timeout)
Параметры
pin
: номер вывода, на котором вы хотите прочитать импульс (int
).
value
: тип импульса для чтения: HIGH или LOW (int
).
timeout
(необязательно): количество микросекунд для ожидания начала импульса; по умолчанию равен одной секунде (unsigned long
).
Возвращает
Длину импульса (в микросекундах) или 0, если импульс не начался до таймаута (unsigned long
).
Пример кода
Данный пример рассчитывает время продолжительности импульса на выводе 7.
int pin = 7;
unsigned long duration;
void setup()
{
pinMode(pin, INPUT);
}
void loop()
{
duration = pulseIn(pin, HIGH);
}