Небольшие костыли для IDE дуино , прошу критиковать и предлагать более удобные

Растудайкин
Offline
Зарегистрирован: 19.05.2017

Плыву на ощупь, единой документации на среду разработки нет и пока не предвидится.

По мере написания проекта, количество функций разраслось настолько, что пришлось разделить на множество файлов. Выкладываю идею разделения -  пример из 3 файлов. При таком подходе, в дальнейшем возможны проблемы, о которых пока не знаю :

1) файл TEST1.INO  (главный). Обратите внимание, что #include с телом функций нужно вставлять в него снизу, иначе будут формальные проблемы при компиляции.

// файл TEST1.INO , главный
#include "MYPROTOTYPES.h" // прототипы без тел функций
  void setup(void)   {   test_function(); }
  void loop(void) {}
#include "APPEND2.h" // тела функций и прототипы

2) файл APPEND2.h содержит тела функций и их прототипы. Если назвать APPEND2.С вместо APPEND2.h, то будут проблемы при компиляции

// файл APPEND2.h = тела функций и прототипы
void test_function(void);
void test_function(void){OCR2A=150;}

void test2(void);
void test2(void)
{ Serial.begin(115200);
  OCR2A=155;
  Serial.print("OCR2A=");  Serial.println(OCR2A);
}

3) файл MYPROTOTYPES.h  содержит прототипы функций и глобальные переменные и  должен быть включен директивой #include в основной файл до вызываемых функций
 

// файл MYPROTOTYPES.h  = прототипы функций 

void test_function(void);
void test2(void);

 

Для прсоединения файлов в проект, сначала нужно создать хотя бы одну новую вкладку (Ctrl-Shift-N в этой версии почему-то не работает). Новая вкладка должна быть названа именен ЕЩЕ НЕ СУЩЕСТВУЮЩЕГО ФАЙЛА. После создания вкладки и перезапуска IDE, другие новые файлы  файлы проекта из текущего каталога "прилипнут сами"  в виде дополнительных вкладок.

 

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Растудайкин пишет:
По мере написания проекта, количество функций разраслось настолько, что пришлось разделить на множество файлов. Выкладываю идею разделения -  пример из 3 файлов. При таком подходе, в дальнейшем возможны проблемы, о которых пока не знаю :

http://arduino.ru/Hacking/LibraryTutorial

Видео: Сова дарит хвост Иа https://www.youtube.com/watch?v=qJx9QhlJTzM

ПС: Ctrl+Shift+N  не знал

Растудайкин
Offline
Зарегистрирован: 19.05.2017

Быблиотеки мне еще рано, не все функции отлажены. К  тому же сильно осложнится резервное копирование версий проекта.

qwone пишет:
ПС: Ctrl+Shift+N  не знал
Может в других версиях и работает