Processing:Библиотеки/Hardware I/O/Класс GPIO/noInterrupts(): различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки |
Нет описания правки |
||
Строка 10: | Строка 10: | ||
==Класс== | ==Класс== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
GPIO | GPIO | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 16: | Строка 16: | ||
==Обозначение== | ==Обозначение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
noInterrupts() | noInterrupts() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 30: | Строка 30: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
.noInterrupts() | .noInterrupts() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 36: | Строка 36: | ||
==Параметры== | ==Параметры== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
void | void | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 42: | Строка 42: | ||
==Возвращаемое значение== | ==Возвращаемое значение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
void | void | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 48: | Строка 48: | ||
==Пример== | ==Пример== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
import processing.io.*; | import processing.io.*; | ||
color bgcolor = 0; | color bgcolor = 0; |
Текущая версия от 11:54, 20 мая 2023
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
noInterrupts()[1]
Класс
GPIO
Обозначение
noInterrupts()
Описание
Отключает возможность запуска прерываний.
Функции noInterrupts() и interrupts() можно использовать в тандеме – чтобы скетч, выполняя какую-либо задачу, не запускал больше никаких прерываний.
Поскольку пользовательская функция связана с контактом, который проверяется на прерывание, noInterrupts() автоматически блокирует все остальные прерывания, вызываемые на этом контакте. Прерывания на других контактах, впрочем, по-прежнему будут запускаться. Если вы хотите предотвратить и это, поставьте noInterrupts() в самом начале функции обратного вызова, а interrupts() – в ее конце (как показано в скетче-примере ниже).
Синтаксис
.noInterrupts()
Параметры
void
Возвращаемое значение
void
Пример
import processing.io.*;
color bgcolor = 0;
void setup() {
GPIO.pinMode(4, GPIO.INPUT);
GPIO.pinMode(5, GPIO.INPUT);
GPIO.attachInterrupt(4, this, "pinEvent", GPIO.RISING);
GPIO.attachInterrupt(5, this, "pinEvent", GPIO.RISING);
}
void draw() {
background(bgcolor);
}
void pinEvent(int pin) {
GPIO.noInterrupts();
// с этого момента нас не побеспокоит ни одно прерывание:
println("Received interrupt on pin" + pin);
// "Получено прерывание на контакте: "
if (bgcolor == 0) {
bgcolor = color(255);
} else {
bgcolor = color(0);
}
GPIO.interrupts();
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |