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;
}

См. также