• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вопрос Как добавить новые файлы в готовый проект в Eclipse?

RRRLock

New member
Приветствую.

Подскажите пожалуйста, как подключить новые библиотеки к готовому проекту-примеру в Eclipse?Например есть проект по SPI, а мне охота добавить в него библиотечные файлы для работы с GPIO например или I2C.

Как это сделать быстро и безболезненно?
 

CHERTS

Moderator
Команда форума
В UDK куча примеров где есть библиотеки, если я конечно правильно понимаю что речь про то как добавить несколько *.c и *.h файлов.
Взять хоть первый пример C:\Espressif\examples\ESP8266\1wire_ds18b20\
в папку driver кидаем *.c файлы, в include/driver кидаем *.h
в основном файле user/user_main.c добавляем include. например
[HASHTAG]#include[/HASHTAG] "driver/uart.h"
[HASHTAG]#include[/HASHTAG] "driver/ds18b20.h"
все, не забываем взять нужный C:\Espressif\examples\ESP8266\1wire_ds18b20\Makefile, в нем обращаем внимание на
MODULES = driver user

Добавлять *.c и *.h можно из Eclipse. а можно и вручную, просто в проекте Eclipse сделать Refresh и он перечитает список файлов в проекте.
 

CHERTS

Moderator
Команда форума
Если речь про использование бинарных библиотек от Espressif. то есть про те сто лежат в C:\Espressif\ESP8266_SDK\lib\
то чтобы их использовать то в Makefile смотрите на строку
LIBS = c gcc hal phy pp net80211 lwip wpa crypto main
в ней описаны какие библиотеки будут линковаться кв процессе сборки прошивки,
хотите использовать libpwm.a
то в Makefile пишем
LIBS = c gcc hal phy pp net80211 lwip wpa crypto main pwm
в основном файле user/user_main.c добавляем include. например
[HASHTAG]#include[/HASHTAG] <pwm.h>
 
однако сделал как написано модератором
кинул файл i2c.h в include/drivers
i2c.c в drivers
в user_main.c в процедуре void ICACHE_FLASH_ATTR user_init(void)
пишу i2c_init(0);
и компилятор спотыкается:
user/user_main.c:237:2: error: implicit declaration of function 'i2c_init' [-Werror=implicit-function-declaration]
i2c_init(0);

проект в который вношу изменения: из примеров esphttpd. версия udk: 2016.10
i2c библиотеку взял отсюда: PowerMeter/i2c.c at master · vad7/PowerMeter · GitHub
 
Последнее редактирование:
короче не разобрался я как добавлять сишные файлы и хидеры в проект "грамотно" и правильно. тупо кинул нужное в папку user и всё собралось.
з.ы. открыл для себя что все эти makefiles это из линукса башевые команды.
 

d_el

New member
Все же это специфический язык программирования со своими правилами.
Если быть точнее то пришло это с UNIX а не Linux.
bash это одна из множества командных оболочек.
 
Сверху Снизу