создание собственных библеотек
- Войдите на сайт для отправки комментариев
Сб, 10/11/2018 - 19:28
здраствуйте
я столкнулся с проблемой, когда решил написать собственную библеотеку. Проблема в следующем в class в public мне надо объявить конструктор с 4 аргументами
class led{
public:
led(uint8_t rpin, uint8_t gpin, uint8_t bpin, uint8_t Vpin);//вот он
void ledColor(int r, int g, int b);
private:
int _rpin, _gpin, _bpin, _Vpin;
};
но когда в конструкторе аргументов больше 1 arduino IDE на меня ругается : led(бла бла бла бла) содержит 4 аргумента доступно 1
но во всех библеотеках(к устройствам более, чем с 1 пином) всегда несколько аргументов, да к тому же еще и разных типов
подскажите что я не понял или перепуталб никак не могу разобраться
Может, код покажете?
А то хрустальные шары Клапауций запретил.
qwertyArd,Может вместо написания своей библиотеки, вы изучите язык Си/Си++. Ваши ошибки от банальной неграмотности. Не на форуме это выяснять.
/**/ class led { private: uint8_t _rpin, _gpin, _bpin, _Vpin; int _r, _g, _b; public: led(uint8_t rpin, uint8_t gpin, uint8_t bpin, uint8_t Vpin): _rpin(rpin), _gpin(gpin), _bpin(bpin), _Vpin(Vpin) {}; void ledColor(int r, int g, int b) { _r = r; _g = g; _b = b; }; }; //------------------------------- led UNIT(1, 2, 3, 4); //------------------------------ void setup() { UNIT.ledColor(1,2,3); } void loop() { }Ну и так музыкальная пауза на эту тему.
Пошел купаться Уверлей оставив дома Доротею
купил он пару пузырей купил он пару пузырей
нырять и плавать не умея
https://mp-3s.ru/songs/eta-zhenshina-v-okne_poshel-kupatsja-veverlej
Спасибо, помогло. Просто про это в интернете очень мало инфомации
вот что у меня получилось
это библеотека
#define lc_h #include "Arduino.h" class led{ private: int _rpin, _gpin, _bpin, _Vpin, _varpin; public: led(uint8_t rpin, uint8_t gpin, uint8_t bpin, uint8_t Vpin) : _rpin(rpin), _gpin(gpin), _bpin(bpin), _Vpin(Vpin) { pinMode(rpin, OUTPUT); _rpin = rpin; pinMode(gpin, OUTPUT); _gpin = gpin; pinMode(bpin, OUTPUT); _bpin = bpin; pinMode(Vpin, OUTPUT); _Vpin = Vpin; }; void ledColor(int r, int g, int b, int varpin) { _varpin = map(analogRead(varpin), 0, 1023, 0, 255); digitalWrite(_rpin, r); digitalWrite(_gpin, g); digitalWrite(_bpin, b); analogWrite(_Vpin, _varpin); }; };это код ардуино
#include <lc.h> led lol(12,11,10,5); void setup(){ } void loop(){ lol.ledColor(1,0,1,0); }пример простой и примитивный, но опять же повторюсь в интернете мало информации
"Про это" в интернете просто море информации - ищите документацию по классам , а не по "библеотекам"
А у вас опять куча ошибок.
Вызов контруктора в форме
уже инициализирует параметры _rpin _gpin и тд, поэтому строчки 11,13,15 и 17 лишние
Интересно, что вы хотели сказать строчкой 1 - к чему этот дефайн, что он определяет?
И посмотрите, наконец. в словарике, как правильно пишется слово библиотека...