Я пытаюсь получить пользовательский робот для работы с IDE Arduino, объявив о новой аппаратной «плате» в среде IDE. Это содержит все сопоставления и еще что-то, но существует библиотека, к которой у меня есть доступ к источнику.Как это не определено?
Arduino IDE создает файл CPP следующим образом:
#line 1 "cbotj.ino"
#include "Arduino.h"
void setup();
void loop();
#line 1
void setup()
{
LED_open();
}
void loop()
{
}
Затем я получаю ошибку:
cbotj.cpp.o: In function `setup':
/Applications/cbotj.ino:3: undefined reference to `LED_open()'
Сейчас в Arduino.h для ядра Hardwares У меня есть
SUBSYS_OPENSTAT LED_open(void);
Сама функция реализована в другом файле .c
в рамках основной аппаратной функции s (например, pinMode) и является полностью действительным, поскольку он работает как скомпилированная библиотека для других IDE, таких как AVR Studio 4 и 6. Atmel.
Почему я получаю неопределенную ссылку? Заголовки включены и т. Д.
Аппаратное обеспечение выбрано так, как оно работает, если бы я использовал такие вещи, как pinMode на штыре для работы светодиодов.
ТИА
Вы установили проект для использования вашей скомпилированной библиотеки или добавили файл cpp в свой проект? –
Да, я сделал. Он автоматически настраивается через компонент оборудования. Выбрал мою доску, определенную в файле users.txt. – Demortes
Я также вижу файл, скомпилированный в подробном режиме '/ Applications/Arduino.Приложение/Содержание/Ресурсы/Java/hardware/tools/avr/bin/avr-ar rcs /var/folders/mj/ldxmpsp90w5bkwclzkt8srx00000gn/T/build6634653328907666647.tmp/core.a/var/folders/mj/ldxmpsp90w5bkwclzkt8srx00000gn/T/build6634653328907666647 .tmp/LED_open.co' – Demortes