Как разделить на куски большой файл проекта?

Vovik15
Offline
Зарегистрирован: 10.01.2018

Здравствуйте! С ардуино работаю недавно,и возникла потребность разделять код на куски. С каждым разом разбиратся все труднее,и труднее. 

Внятного ответа в сети не нашел,поэтому просто создал новый файл с расширением ino в папке с проектом, и он успешно отобразился в программе. Незнаю правильно ли это,но переменные и функции описанные в нем,работают. 

Вопрос номер два. Во втором файле проекта,который я создал ранее, был объявлен вот такой класс

 class Budilnic {
public: //Общедоступный класс
char  m1,m2,m3;
 
void initialReading (void)
//сдесь выполняется некий код
}
 
}; //конец класса 
Budilnic budilnic; //создаем объект budilnic класса Budilnic

из файла,где описана функция main происходит обращение к методу класса:

budilnic.initialReading(); //вызвать функцию из класса Budilnic

Компилятор выдает ошибки,говорит что класс не объявлен.  Как это исправить? Переносить этот класс в файл где описан майн,очень нехочится,ввиду большого количества кода.

Спасибо за ответы

 

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Просто помещаете файлы *.h и *.cpp рядом с файлом *.ino - и они автоматически включаются в проект. Посмотрите, сколько у меня тут исходников, как пример: https://github.com/Porokhnya/GreenhouseProject/tree/master/Main

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Угу.

Только сначала помещаете файлы, и только потом запускаете IDE. А то она слишком умная - при старте сканирует все каталоги, где, с ее точки зрения, может быть что-то полезное, а потом ни на какие вновь появившиеся файлы уже внимания не обращает.

Vovik15
Offline
Зарегистрирован: 10.01.2018

Быть может стоит создать библиотеку,и в нее уже включить класс? 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Vovik15 пишет:

Быть может стоит создать библиотеку,и в нее уже включить класс? 

Библиотека - это просто набор тех же исходных файлов ;)

Vovik15
Offline
Зарегистрирован: 10.01.2018

Ну а как тогда решить эту задачу?

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Так вам же сказали, как: просто поместите ваши исходники в файлах *.cpp и *.h рядом с файлом *.ino, и в *.ino-файле подключайте нужные *.h-файлы.

Vovik15
Offline
Зарегистрирован: 10.01.2018

Спасибо! Уже пытаюсь это реализовать,но пока компилятор не сдается, выдает ошибку,что моей библиотеки нет в директории,хотя она лежит рядом с .ino файлом. Понять немогу в чем дело

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Подключать надо так:

#include "YourHeaderFile.h"

это в том случае, когда ваши исходники лежат рядом с *.ino-файлом.

Vovik15
Offline
Зарегистрирован: 10.01.2018

Огромное вам спасибо! Переписал объявление библиотеки как вы сказали,и все заработало