Прошу вас объяснить или же указать на источник где можно подробно прочитать способ использования одной библиотеки Arduino в другой. В частности, мне надо использовать методы популярной библиотеки "RF24.h". Сразу попрошу: не пишите, пожалуйста, сюда просто код, без объяснений (которых в нете просто куча). Добавьте хотябы коментарии ко всем его пунктам или просто укажите на источник где можно прочитать подробно как это делается.
Так как библиотеки Arduino - просто классы выведенные в однельные файлы с кодом, я понимаю что, мне надо, всего-то, узнать о способе использования методов одного класса в другом. Но библиотека "RF24.h" также требует несколько строк инициализации (в том числе и конструктора) перед тем как ее можно использовать. Пример:
RF24 radio(9, 53); //в конструктор указываем пины "ce" и "cs"
radio.begin(); // Старт работы;
radio.setChannel(0x57);
radio.setPALevel(RF24_PA_LOW); //Установка максимальной мощности;
radio.enableAckPayload(); //Разрешение отправки нетипового ответа передатчику;
radio.openReadingPipe(1, 0xE8E8F0F0E1LL); // Открываем трубу
radio.startListening(); //начинаем слушать;
Далее мне всего-лишь нужны методы "radio.available()
" и "radio.read()
"
Моя библиотека призвана помочь передавать и принимать строки символов неограниченной длины.
Добавлю что, как простой класс в основном файле ".ino" по "соседству" с библиотекой "RF24.h все отлично работает. Проблемы начинаются когда, мой класс выводится в отдельные файлы ".h" и ".cpp" и необходимо вызывать методы "RF24.h" из него. Я пробовал инициализировать "RF24.h" вот так:
RF24E::RF24E(uint16_t _cepin, uint16_t _cspin) //конструктор моего класса
{
RF24 radio(_cepin, _cspin);
radio.begin(); // Старт работы;
radio.setChannel(0x57);
radio.setPALevel(RF24_PA_LOW); //Установка максимальной мощности;
radio.enableAckPayload(); //Разрешение отправки нетипового ответа передатчику;
radio.openReadingPipe(1, 0xE8E8F0F0E1LL); // Открываем трубу
radio.startListening(); //начинаем слушать;
};
Спасибо вам за потраченное время.
Нет такого способа. Библиотеку использует скетч. Только скетч может использовать библиотеку.
Это ограничение связано с тем, что при компиляции скетча код библиотеки копируется во временную директорию, а саму библиотеку скрипт находит по заголовочному файлу.
Если бы библиотека могла использовать другую библиотеку, то часто возникала бы ситуация, когда одна и та же библиотека включена в скетч и в коде скетча, и в коде другой библиотеки. И мало того - это одна и та же библиотека, только разные версии.
Более того. Мы начинаем копировать код библиотек. Первая библиотека использует вторую, вторая - третью, а третья - первую. Но скетч хочет первую библиотеку одной версии, а третья библиотека хочет первую библиотеку другой версии. В итоге скетч невозможно скомпилировать, ни используя первую библиотеку первой версии, ни используя первую библиотеку второй версии.
Поэтому только скетч может использовать библиотеки.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Здравствуйте, необходимо реализовать передачу файла на comportОбъясните, пожалуйста, если компорт ведет дело с байтами, то задача "Передать...
Собственно есть файл1 и файл2, допустим обьем файла1 100кк строк, а файла2 20кк строк, нужно проверить вхождения файла2 в файл1, и записать в новые...