digitalPinToInterrupt()
Описание
Преобразует номер цифрового пина Arduino в соответствующий номер прерывания. Эту функцию следует использовать для указания номера прерывания в attachInterrupt() и detachInterrupt() вместо прямого указания номера прерывания, поскольку конкретное соответствие пинов и прерываний различается для каждого типа платы.
Синтаксис
digitalPinToInterrupt(pin)
Параметры
pin: номер пина Arduino, для которого нужно получить номер прерывания.
Возвращаемое значение
Возвращает номер прерывания, соответствующий указанному пину, или NOT_AN_INTERRUPT (-1), если данный пин не поддерживает прерывания.
Пример кода
const byte ledPin = 13;
const byte interruptPin = 2;
volatile byte state = LOW;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(interruptPin, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(interruptPin), blink, CHANGE);
}
void loop() {
digitalWrite(ledPin, state);
}
void blink() {
state = !state;
}