Инструкции

Справочный раздел

В этом разделе Вы найдетё инструкции, справочники, и всевозможные хелпы по использованию программного обеспечения.

Разделы инструкций

В сети

Пользователей: 392
Из них просматривают:
Аналоги: 122. Видео: 6. Галерея: 1. Даташиты: 120. Инструкции: 18. Новости: 36. Обзор: 1. Опросы: 1. Остальное: 17. Партнёры: 3. Программы: 2. Производители: 8. Профиль пользователя: 2. Расчёты: 3. Теги: 4. Торрент: 3. Форум: 45.
Участников: 3
Гостей: 389

anatoliy03 , Google , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.
Оглавление

Функция pulseInLong()

Описание
pulseInLong() является альтернативой pulseIn(), которая лучше справляется с сценариями, связанными с длинными импульсами и прерываниями.

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


Синтаксис
pulseInLong(pin, value)
pulseInLong(pin, value, timeout)

Параметры

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

Возвращаемые значения
длительность импульса (в микросекундах) либо 0 в случае отсутствия импульса в течение таймаута (unsigned long)
 
Пример

int pin = 7;
unsigned long duration;

void setup() {
Serial.begin(9600);
pinMode(pin, INPUT);
}

void loop() {
duration = pulseInLong(pin, HIGH);
Serial.println(duration);
}

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.

Разное

Интересно

Ножки для корпусов РЭА можно сделать из резиновой накладки поршня медицинского шприца.

Похожие инструкции