Raspberry Pi:Библиотеки/WiringPi/Приоритет, прерывания и потоки/Прерывания/waitForInterrupt()
Содержание | Введение | Продукты | Операционная система | Настройка | Основы Linux | Аппаратные средства | Неисправности | Типовые проблемы | Часто возникающие вопросы | Библиотеки | Примеры |
Черновик |
Функция waitForInterrupt()[1]
Синтаксис
int waitForInterrupt(int pin, int timeOut);
Описание
Будучи вызванной, начнет ждать прерывания на указанном контакте, после чего ваша программа будет поставлена на паузу. Параметр timeOut задается в миллисекундах. Кроме того, в нем можно поставить значение «-1», и тогда он будет ждать прерывания вечно.
Если возникнет ошибка, функция вернет значение «-1» (и аналогичным образом будет задана переменная errno), если закончится время – «0», если прерывание будет выполнено успешно – «1».
Перед вызовом waitForInterrupt() следует инициализировать GPIO-контакт, и на данный момент это можно сделать лишь при помощи программы gpio – либо в скрипте, либо в функции system() внутри программы.
К примеру, если нам нужно дождаться прерывания на 0-ом GPIO-контакте, которое будет запускаться на убывающем фронте импульса, то вам нужно будет вписать команду...
gpio edge 0 falling
...перед запуском программы.