'AttachPinChangeInterrupt' was not declared in this scope

Я новичок, пытающийся загрузить скетч SimpleExample328.ino на Arduino Uno. Однако, когда я проверяю свой скетч, я сталкиваюсь с ошибкой:

"AttachPinChangeInterrupt" не был объявлен в этой области.

Я бы предположил, что заголовочный файл PinChangeInt.h находится не в правильном месте; в настоящее время папка PinChangeInt (содержащая PinChangeInt.h) находится в папке Arduino IDE libraries, которая, как я считаю, находится в правильном месте.

Я поместил заголовочный файл в неправильное место или эта ошибка вызвана другой причиной? Спасибо :)

, 👍1

Обсуждение

Пожалуйста, отредактируйте свой вопрос и опубликуйте скетч, который вы пытаетесь скомпилировать (или, если он длинный, разместите ссылку на то место, где вы его нашли). Пожалуйста, скопируйте и вставьте сообщения об ошибках. Используйте Ctrl+K на обоих блоках, чтобы сделать отступы, чтобы они выглядели как "код" в посте., @Nick Gammon

Вы имеете в виду этот скетч: [SimpleExample328.ino](https://raw.githubusercontent.com/GreyGnome/PinChangeInt/master/Examples/SimpleExample328/SimpleExample328.ino)? Я думаю, что эта библиотека создана для Arduino 1.0, а не для последней версии 1.6., @Gerben

О, да, я знаю! Где бы я мог найти последнюю библиотеку для PinChangeInt и примеры для меня, чтобы попробовать? Спасибо :), @Seth Shill

Вы взглянули на [README](https://github.com/GreyGnome/PinChangeInt#readme)? “Эта библиотека устарела [...] пользователям рекомендуется перейти в библиотеку EnableInterrupt [...]"., @Edgar Bonet


1 ответ


1

У вас не установлена библиотека. Для установки:

  • Перейдите на https://github.com/GreyGnome/PinChangeInt
  • Нажмите зеленую кнопку Клонирования или Загрузки
  • Выберите Загрузить ZIP

То .ZIP-файл будет загружен на ваш компьютер. Обратите внимание на местоположение.

  • Откройте среду разработки Arduino IDE
  • Перейдите в Sketch > >Include Library > >Add .ZIP library...
  • Перейдите в папку загрузки
  • Выберите ZIP-файл PinChangeInt

Дело сделано! Скомпилируйте свою программу, и все должно работать!

,

@sa_leinand, что ты делаешь? библиотека уже была устаревшей ко времени, когда был задан этот вопрос в 2015 году, @Juraj

Договорились, что библиотека обесценивается. Это не значит, что это не работает. Скетч, который пытается запустить операция, на самом деле является одним из примеров из этой библиотеки. Чтобы запустить этот скетч, вам нужно установить библиотеку., @sa_leinad

Библиотека была устаревшей и полностью переписана как [EnableInterupt](https://github.com/GreyGnome/EnableInterrupt) библиотека. Основная причина заключалась в том, что библиотека предназначена "для всех версий Arduino", а не только для тех немногих, на которые работал PinChangeInt. ОПЕРАЦИЯ пометила Arduino Uno, который отлично работает с PinChangeInt., @sa_leinad