Raspberry Pi:Библиотеки/WiringPi/Приоритет, прерывания и потоки/Прерывания/waitForInterrupt(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
 
Нет описания правки
 
Строка 9: Строка 9:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
int waitForInterrupt(int pin, int timeOut);
int waitForInterrupt(int pin, int timeOut);
</syntaxhighlight>
</syntaxhighlight>
Строка 23: Строка 23:
К примеру, если нам нужно дождаться прерывания на '''0-ом''' GPIO-контакте, которое будет запускаться на убывающем фронте импульса, то вам нужно будет вписать команду...
К примеру, если нам нужно дождаться прерывания на '''0-ом''' GPIO-контакте, которое будет запускаться на убывающем фронте импульса, то вам нужно будет вписать команду...


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
gpio edge 0 falling
gpio edge 0 falling
</syntaxhighlight>
</syntaxhighlight>

Текущая версия от 19:52, 23 мая 2023

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


Черновик


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

Синтаксис

int waitForInterrupt(int pin, int timeOut);

Описание

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

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

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

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

gpio edge 0 falling

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

См.также

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