Processing:Библиотеки/Hardware I/O/Класс GPIO/waitFor()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску


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



waitFor()[1]

Класс

GPIO

Обозначение

waitFor()

Описание

Ждет изменения значения на заданном входном контакте.

Параметр mode задает, какого именно события нужно ждать: при режиме FALLING функция будет ждать, когда значение HIGH на заданном контакте сменится на LOW, при режиме RISING – когда LOW сменится на HIGH, а при режиме CHANGE – когда произойдет любое из этих изменений.

Опциональный параметр timeout задает, сколько миллисекунд будет ждать функция. Если значение заданного контакта за это время не изменится, эта строчка выдаст исключение. Без параметра timeout функция будет ждать вечно – до тех пор, пока значение на заданном контакте не изменится согласно режиму, заданному в параметре mode.

Синтаксис

.waitFor(pin, mode)
.waitFor(pin, node, timeout)

Параметры

pin  контакт, изменение значения на котором нужно ждать. Тип данных  int
mode  режим изменения значения. Возможные значения: CHANGE, FALLING и RISING. Тип данных  int
timeout  время ожидания (в миллисекундах). Тип данных  int

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

void

Пример

import processing.io.*;

void setup() {
  GPIO.pinMode(4, GPIO.OUTPUT);
  GPIO.pinMode(5, GPIO.INPUT);

  // активируем сброс внешнего устройства,
  // подключенного к контакту GPIO4: 
  GPIO.digitalWrite(4, GPIO.HIGH);

  // ждем, когда внешнее устройство просигналит, что оно готово,
  // подав на контакт GPIO5 значение HIGH:
  GPIO.waitFor(5, GPIO.RISING, 1000);
  // если это займет более 1000 мс, будет вызвано исключение

  // еще один вариант применения функции ожидания – 
  // с бесконечным ожиданием нужного изменения:
  GPIO.waitFor(5, GPIO.RISING);

  // ...
}

См.также

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