Где следует хранить измененный файл «pins_arduino.h» для компиляции Arduino IDE?

Наша печатная плата использует чип ATmega2560 и использует большинство контактов, включая те, которые не определены в стандартном модуле pins_arduino.h, поскольку этот модуль обеспечивает только те контакты, которые выведены на разъемы на плате Arduino Mega2560.

У нас есть модифицированный модуль pins_arduino.h, в котором определены все контакты, но он не включается в компиляцию Arduino IDE. Он был каталогизирован в том же каталоге, что и стандартный модуль (который мы переименовали в original). Путь, по которому хранится измененный модуль, — C:/Arduino/hardware/arduino/avr/variants/mega, где также находился оригинал.

В эскиз мы добавили #include "pins_arduino.h", а также #include <pins_arduino.h>, но ни один из них, похоже, не включил измененный модуль, поэтому дополнительные контакты недоступны. Помещение модуля в ту же библиотеку, что и скетч, тоже не помогло.

Есть предложения?

, 👍1

Обсуждение

Вы пробовали папку в C:\Users\Username\Documents\Arduino\libraries\?, @Spehro Pefhany

Спасибо за предложение, однако оно по-прежнему не дает доступа к дополнительным контактам., @DavidCyr2000

Я бы проголосовал за другой вариант платы. Или вы можете использовать [MegaCore](https://github.com/MCUdude/MegaCore), @KIIV


2 ответа


0

Добавьте еще одну папку в папку /variant и поместите туда измененный файл pins_arduino.h. Затем в файле boards.txt создайте еще один раздел строк, например существующий раздел Mega, используйте новое имя доски и добавьте путь к новой папке.

Добавление Megacore в IDE аналогичным образом практически делает все это за вас.

,

Добавлена папка Mega2560DJC в /variants с новым модулем pins.ardruino,h. Дублирован "Genuino Mega или Mega 2560" с именем "Mega2560DJC". Не уверен, как добавить путь к новой папке. Новая плата не отображается в списке плат IDE., @DavidCyr2000

Посмотрите, как типы плат отображаются в boards.txt. Создайте такой раздел с вашей новой информацией. Я не смогу искать дальше, пока не приду домой. Какую версию Arduino вы используете? 1.8.5?, @CrossRoads

Да, с помощью IDE "Arduino 1.8.5 (Windows Store 1.8.10.0)" переустановил, но ничего не изменилось., @DavidCyr2000

@KIIV Я добавил новый тип платы "allmega", который указывает на новый файл "pins.arduino.h" в C:/arduino/hardware/arduino/avr/variants/allmega со всеми определенными 2560 контактами, однако новая плата не отображается в раскрывающемся меню IDE Tools-Board. Нужно ли что-то сделать, чтобы новый тип платы стал активным в IDE?, @DavidCyr2000


1

Теперь у меня 2560 «полное определение выводов» работает. Вот что я думаю, я сделал:

1) Загрузите IDE с помощью «ZIP-файла Windows для установки без прав администратора» с https://www.arduino.cc/en/Main/Software

2) Загрузите pins.arduino.h с https://forum.arduino.cc/index.php?action=dlattach;topic=200887.0;attach=60348

3) Откройте zip-файл дистрибутива IDE и извлеките все файлы в то место, где вы хотите разместить файлы IDE и ваши эскизы. Это может быть где угодно.

4) Перед запуском arduino.exe из извлеченных файлов замените файл pins.arduino.h, который идет с IDE, на версию "all pins defined". Он заменяется в папке path: .../arduino-1.8.5/hardware/arduino/avr/variants/mega/pins.arduino.h

5) Поместите эскиз в тот же путь, что и все остальное (например, создайте папку типа «12.My_Sketches» внутри «examples»). Например, я поместил свой тестовый эскиз Blinky-2560 в папку с путем: .../arduino-1.8.5/examples/12.My_Sketches/Blinky-2560/Blinky-2560.ino

Почему это сработало в этот раз? Единственное отличие, которое я вижу, это то, что я вставил новый файл pins в нужное место перед запуском IDE. Также возможно, что эскиз должен быть в том же пути, что и остальная часть IDE (где-то видел это!?!?). В остальном я не думаю, что было что-то еще, отличающееся от того, что я делал с ранее установленной IDE.

Поскольку файл «all pins defined» является надмножеством стандартного файла mega pins.arduino.h, он полностью совместим с платой Arduino ATmega2560. Было бы здорово, если бы Arduino сделала этот файл полностью определенных пинов стандартным, который поставляется с IDE.

Так и не удалось заставить MegaCore загрузить скетч после компиляции.

,