Программирование Arduino - создание своей библиотеки
Оценка 4.8

Программирование Arduino - создание своей библиотеки

Оценка 4.8
Образовательные программы
docx
информатика
11 кл +1
22.10.2018
Программирование Arduino - создание своей библиотеки
Как мы помним, ардуина программируется на C++, поэтому, как Вы уже догадались, библиотека – это всего-навсего дополнительный класс, который инкапсулирует в себе функции для работы с устройством :) Т.о. для создания библиотеки нужно будет создать, как минимум, один .h файл в котором будет описываться Ваш класс/функции/ константы и один .cpp, в котором все эти функции реализуются :) Итак, создаём в библиотечной директории Arduino IDE (\hardware\libraries\) папку RoboCraft – так по-скромному будет называться наша библиотека :) Для Arduino IDE 0017 свои библиотеки можно хранить в директории libraries, находящейся в каталоге с пользовательскими скетчами (путь указывается через File — Preferences, строчка Sketchbook location )
7.3.1 Библиотеки Arduino Robocraft.docx
Программирование Arduino ­ создание своей библиотеки Cоздание своей библиотеки. Как мы помним, ардуина программируется на C++, поэтому, как Вы уже догадались,  библиотека – это всего­навсего дополнительный класс, который инкапсулирует в себе  функции для работы с устройством :) Т.о. для создания библиотеки нужно будет создать, как минимум, один .h файл в котором  будет описываться Ваш класс/функции/ константы и один .cpp, в котором все эти функции  реализуются :) Итак, создаём в библиотечной директории Arduino IDE (\hardware\libraries\) папку  RoboCraft – так по­скромному будет называться наша библиотека :) Для Arduino IDE 0017 свои библиотеки можно хранить в директории libraries,  находящейся в каталоге с пользовательскими скетчами (путь указывается через File  — Preferences, строчка Sketchbook location ) А внутри нашей новой директории создаём наши файлы robocraft.h и robocraft.cpp Ну что – можно сказать половина дела сделана :) Библиотеки компилируется без дополнительных преобразований, поэтому их нужно писать на «чистом C++» и поэтому если внутри нашей библиотеки мы захотим использовать  какие­нибудь функции или объекты из стандартной библиотеки Arduino, то нам нужно  подключать соответствующий заголовочный файл («Arduino.h» (в старых версиях IDE:  «WConstants.h», «WProgram.h»)) На всякий случай, напишем: #if defined(ARDUINO) && ARDUINO >= 100   #include "Arduino.h" #else   #include "WProgram.h" #endif  код оформляется в виде класса и если по смыслу выполняемых задач экземпляр этого  класса может быть только один, то заодно происходит объявление этого экземпляра в .h  файле.  Помните, как в классе HardwareSerial – у нас один COM­порт и экземпляр класса там  же и объявляется: extern HardwareSerial Serial; Пора писать код :) Для начала, напишем что­нибудь простое, вроде обычного в таких случаях “Hello world”­ а :) — robocraft.h — #ifndef robocraft_h #define robocraft_h #if defined(ARDUINO) && ARDUINO >= 100   #include "Arduino.h" #else   #include "WProgram.h" #endif  class RoboCraft {         public:                 RoboCraft();                 void hello(); }; #endif // #ifndef robocraft_h — robocraft.h end — , а теперь реализуем эти функции: — robocraft.cpp — #include "robocraft.h" // // конструктор ­ вызывается всегда при создании экземпляра класса RoboCraft // RoboCraft::RoboCraft() {         Serial.begin(9600); } // // просто говорим "Hello" :) // void RoboCraft::hello() {         Serial.println("Hello :)"); } — robocraft.cpp end — Остаётся перезапустить Arduino IDE и с удовольствием отметить  появление нового класса (меню Sketch – Import Library ) :) При выборе нашего (да и любого другого) класса – всего лишь появляется строчка  #include  допишем необходимые setup и loop: #include  void setup() { RoboCraft robot;     // создаём экземпляр нашего класса } void loop() {   robot.hello();    // говорим "Hello" :) } Пробуем скомпилировать – «Done compiling». Однако, заглянув в папку к любому другому классу в глаза бросаются файл keywords.txt и  директория examples Попробуем разобраться. Файл keywords.txt содержит объявления ключевых слов вашей библиотеки, имена типов,  методов, функций, констант – это нужно, чтобы редактор “раскрашивал” их  соответствующими цветами. Синтаксис у файла простой — вот пример (разделитель —  TAB): ####################################### # Syntax Coloring Map For RoboCraft ####################################### ####################################### # Datatypes (KEYWORD1) ####################################### RoboCraft       KEYWORD1 ####################################### # Methods and Functions (KEYWORD2) ####################################### hello   KEYWORD2 ####################################### # Constants (LITERAL1) ####################################### Сохраним этот keywords.txt в каталог с нашей библиотекой и перезапустим Arduino IDE — сравните с предыдущим скриншотом – название нашего класса и функция hello() теперь  подсвечиваются! :) Теперь остаётся добавить к нашей библиотеке нужных и полезных примеров  использования. Для этого создаём директорию examples, а в ней поддиректории с примерами в формате  .pde. Например, скопируем туда наш скетч в директорию hello_robocraft и переименуем его  аналогично в hello_robocraft.pde В очередной раз перезапускаем Arduino IDE и видим, доступность нашего примера :) Замечательно! Заготовка для нашей робототехнической библиотеки создана! :)

Программирование Arduino - создание своей библиотеки

Программирование Arduino - создание своей библиотеки

Программирование Arduino - создание своей библиотеки

Программирование Arduino - создание своей библиотеки

Программирование Arduino - создание своей библиотеки

Программирование Arduino - создание своей библиотеки

Программирование Arduino - создание своей библиотеки

Программирование Arduino - создание своей библиотеки

Программирование Arduino - создание своей библиотеки

Программирование Arduino - создание своей библиотеки

Программирование Arduino - создание своей библиотеки

Программирование Arduino - создание своей библиотеки

Программирование Arduino - создание своей библиотеки

Программирование Arduino - создание своей библиотеки
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
22.10.2018