Разбиваем на вкладки

Меню вкладок


blank
Система вкладок в Arduino IDE работает крайне необычным образом и очень отличается от понятия вкладок в других программах. Вкладки относятся к файлам, находящимся в одной папке со скетчем, и тут есть два варианта:

Внешние файлы


  • Это самостоятельные, не связанные со скетчем файлы (библиотеки). Могут иметь расширения .h, .cpp, .c.
  • Данные файлы не участвуют в компиляции и работе программы, пока не будут подключены в основном скетче через #include.
  • Другими словами работают так, как в других средах разработки.

Файлы скетча


  • Имеют расширение .ino (в актуальных версиях IDE) или .pde (в старых версиях).
  • Появляются рядом с основным файлом скетча при создании новой вкладки через меню вкладок.
  • Вкладки разбивают общий код на части, а при компиляции просто объединяются в один текст по порядку слева направо. То есть в одной вкладке фигурная скобка { может открыться, а в следующей – закрыться }.
  • Такие вкладки нужны для того, чтобы визуально разделить программу на части.
  • Также это означает, что вкладки должны содержать код, относящийся только к этому проекту: в разных вкладках не могут быть объявлены переменные или функции с одинаковыми именами, это приведёт к ошибке.
  • Вкладки автоматически располагаются в алфавитном порядке, поэтому создаваемая вкладка может оказаться между другими уже существующими. Это означает, что разбивать блоки кода по разным вкладкам крайне не рекомендуется.
  • Не забываем, что переменная должна быть объявлена до своего вызова, то есть вкладка с объявлением переменной должна быть левее вкладки, где переменная вызывается. Создавая новую вкладку нужно сразу думать, где она появится с таким именем и не будет ли из за этого проблем.
  • Во избежание проблем с переменными, все глобальные переменные лучше объявлять в самой первой вкладке.
  • Названия вкладок можно начинать с цифр или букв по порядку и таким образом точно контролировать их расположение.
  • При запуске любой вкладки откроется весь проект со всеми вкладками.

Рекомендации


Вкладки – зло, лучше к ним не привыкать и учиться правильно разбивать программу на отдельные файлы. Да, в большинстве случаев программа усложнится и в ней появится больше кода, но это будет более правильно. Вкладки же – ещё один “подарок” от Arduino, ускоряющий написание программы. Как ими пользоваться в большом проекте, чтобы ничего не сломалось?

  • В главном файле скетча располагаем все настройки, подключаем библиотеки, объявляем глобальные переменные. Здесь же оставляем блоки setup() и loop().
  • Остальной код пакуем в функции (урок по функциям) и располагаем в остальных вкладках, группируя по смыслу.

Главный файл скетча

#include <библиотека>
#include <библиотека>
#include <библиотека>

// всякие переменные

void setup() {
  readEEPROM();
}

void loop() {
  effects();
  button();
}

Вкладка “эффекты”

void effects() {
  // куча кода
}

Вкладка “обработка кнопки”

void button() {
  // куча кода
}

Вкладка “чтение настроек”

void readEEPROM() {
  // куча кода
}

Полезные страницы


  • Набор GyverKIT – большой стартовый набор Arduino моей разработки, продаётся в России
  • Каталог ссылок на дешёвые Ардуины, датчики, модули и прочие железки с AliExpress у проверенных продавцов
  • Подборка библиотек для Arduino, самых интересных и полезных, официальных и не очень
  • Полная документация по языку Ардуино, все встроенные функции и макросы, все доступные типы данных
  • Сборник полезных алгоритмов для написания скетчей: структура кода, таймеры, фильтры, парсинг данных
  • Видео уроки по программированию Arduino с канала “Заметки Ардуинщика” – одни из самых подробных в рунете
  • Поддержать автора за работу над уроками
  • Обратная связь – сообщить об ошибке в уроке или предложить дополнение по тексту (alex@alexgyver.ru)
5/5 - (1 голос)
Назад Пример “метеостанция”
Вперёд Как написать крупный проект?
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии