- Библиотеки
- Операторы
- Sketch
- Управляющие операторы
- Синтаксис
- Арифметические операторы
- Операторы сравнения
- Логические операторы
- Указатели доступа
- Битовые операторы
- Составные операторы
- Данные
- Типы данных
- Преобразование типов данных
- Область видимости переменных и квалификаторы
- Утилиты
- Функции
- Цифровой ввод/вывод
- Аналоговый вход/выход
- Расширенный ввод/вывод
- Время
- Математические функции
- Тригонометрические функции
- Символы
- Случайные числа
- Биты и байты
- Внешние Прерывания
- digitalPinToInterrupt()
- Прерывания
- Функции передачи данных
- Функции
digitalPinToInterrupt()
Описание
У микроконтроллеров серии Arduino есть возможность получать прерывания с любого пина, такие прерывания называются PCINT и работать с ними можно только при помощи сторонних библиотек (вот одна из них PinChangeInterrupt). Здесь речь пойдёт об обычных прерываниях, которые называются INT, потому что стандартный Arduino IDE работает только с ними. Таких прерываний и соответствующих им пинов очень мало:
МК / номер прерывания | INT 0 | INT 1 | INT 2 | INT 3 | INT 4 | INT 5 |
ATmega 328/168 (Nano, UNO, Mini) | D2 | D3 | – | – | – | – |
ATmega 32U4 (Leonardo, Micro) | D3 | D2 | D0 | D1 | D7 | – |
ATmega 2560 (Mega) | D2 | D3 | D21 | D20 | D19 | D18 |
Как понятно из таблицы, у прерываний есть свой номер, который отличается от номера пина. И функция digitalPinToInterrupt(pin) принимает номер пина и возвращает номер прерывания. Подставив этой функции цифру 3 на Arduino Nano, мы получим 1
Синтаксис
digitalPinToInterrupt(pin)
Параметры
pin: номер пина для прерывания.
Возвращаемые значения
номер прерывания