Где следует хранить измененный файл «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>
, но ни один из них, похоже, не включил измененный модуль, поэтому дополнительные контакты недоступны. Помещение модуля в ту же библиотеку, что и скетч, тоже не помогло.
Есть предложения?
@DavidCyr2000, 👍1
Обсуждение2 ответа
Добавьте еще одну папку в папку /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
Теперь у меня 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 загрузить скетч после компиляции.
- Невозможно установить библиотеку esp_camera
- Добавить библиотеку в проект CLion
- Есть ли способ автоматически удалить из библиотеки все неиспользуемые части и определения?
- Нет сервера веб-сокетов для Arduino mkr1010?
- IDE находит несколько библиотек
- Как сделать выводы Tx и Rx на ESP-8266-01 в выводах GPIO?
- Как получить исходные файлы для библиотек Arduino?
- Ошибка: "недопустимое использование нестатической функции-члена" при вызове функции из моего собственного класса-метода
Вы пробовали папку в C:\Users\Username\Documents\Arduino\libraries\?, @Spehro Pefhany
Спасибо за предложение, однако оно по-прежнему не дает доступа к дополнительным контактам., @DavidCyr2000
Я бы проголосовал за другой вариант платы. Или вы можете использовать [MegaCore](https://github.com/MCUdude/MegaCore), @KIIV