ошибка компиляции библиотеки
- Войдите на сайт для отправки комментариев
Здравствуйте, столкнулся с непонятной для меня прблемой при попытке создания библиотеки
Взял в интернете пример создания библиотеки и размести ее в папке Arduino_Projects\libraries\LED
//LED.h
#ifndef LED_h
#define LED_h
class LED{
public:
void begin(char PinToUse);
private:
char pin;
};
#endif
//LED.cpp
#include "Arduino.h"
#include "LED.h"
void LED::begin (char PinToUse){
pin = PinToUse;
pinMode(pin, OUTPUT);
}
Скетч компилируется без ошибок
Изменил имя класса, имена файлов и название папки с LED на JOY :
//JOY.h
#ifndef JOY_h
#define JOY_h
class JOY{
public:
void begin(char PinToUse);
private:
char pin;
};
#endif
//JOY.cpp
#include "Arduino.h"
#include "JOY.h"
void JOY::begin (char PinToUse){
pin = PinToUse;
pinMode(pin, OUTPUT);
}
Не работает!
Сам скетч:
#include <JOY.h>
#include <LED.h>
JOY jb;
LED ld;
void setup() {
ld.begin(13);
jb.begin(13);
}
void loop() {
}
Компилятор говорит:
Arduino: 1.8.8 (Windows 10), Плата:"Arduino/Genuino Uno"
C:\Users\admin\AppData\Local\Temp\cc35X7bg.ltrans0.ltrans.o: In function `setup':
D:\Electr\ARDUINO\Arduino_Projects\Joy_test\test/test.ino:8: undefined reference to `JOY::begin(char)'
collect2.exe: error: ld returned 1 exit status
exit status 1
Ошибка компиляции для платы Arduino/Genuino Uno.
Пожалуйста , подскажите, почему LED не вызывает ошибку, а JOY вызывает?
http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukomment...
На ардуино си си есть статья, которая так и называется "Написание библиотеки для Arduino" может не врут? Или нет доверия к первоисточникам?
Суть проблемы: при использовании для класса, фалов *.h *.cpp и паки, где все это лежит, имени LED ошибки нет, а при использовании имени JOY возникает ошибка. Кроме LED и JOY нет никаких различий.
Кроме LED и JOY нет никаких различий.
Так не бывет.
Обратите внимание на пост #1 если хотите конструктивного разговора.
Кроме LED и JOY нет никаких различий.
Так не бывет.
Обратите внимание на пост #1 если хотите конструктивного разговора.
К сожалению, уже не исправить, там нет кнопки "редактировать"
А кто мешает вставить, хоть после этого поста?
К сожалению, уже не исправить, там нет кнопки "редактировать"
ну тогда прощайте, к сожалению помочь вам никто не сможет
К сожалению, уже не исправить, там нет кнопки "редактировать"
Или Вы выкладываете ДВА кода с LED и JOY и ничем больше не отличающиеся, при этом один компилируется, а другой - нет.
Или, к сожалению, мы ничем не можем Вам помочь, разбирайтесь сами.
К сожалению, уже не исправить, там нет кнопки "редактировать"
Или Вы выкладываете ДВА кода с LED и JOY и ничем больше не отличающиеся, при этом один компилируется, а другой - нет.
Или, к сожалению, мы ничем не можем Вам помочь, разбирайтесь сами.