Raspberry Pi:Библиотеки/WiringPi/Приоритет, прерывания и потоки/Прерывания/waitForInterrupt()

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

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


Черновик


Функция waitForInterrupt()[1]

Синтаксис

int waitForInterrupt(int pin, int timeOut);

Описание

Будучи вызванной, начнет ждать прерывания на указанном контакте, после чего ваша программа будет поставлена на паузу. Параметр timeOut задается в миллисекундах. Кроме того, в нем можно поставить значение «-1», и тогда он будет ждать прерывания вечно.

Если возникнет ошибка, функция вернет значение «-1» (и аналогичным образом будет задана переменная errno), если закончится время – «0», если прерывание будет выполнено успешно – «1».

Перед вызовом waitForInterrupt() следует инициализировать GPIO-контакт, и на данный момент это можно сделать лишь при помощи программы gpio – либо в скрипте, либо в функции system() внутри программы.

К примеру, если нам нужно дождаться прерывания на 0-ом GPIO-контакте, которое будет запускаться на убывающем фронте импульса, то вам нужно будет вписать команду...

gpio edge 0 falling

...перед запуском программы.

См.также

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