Как вынести функции в отдельный файл подключаемый к проекту?

zar-gsm
Offline
Зарегистрирован: 16.11.2013

Имеются функции с очень длинным кодом, хотел бы вынести их в отдельный файл и при необходимости подключить и использовать в основном коде программы, подскажите как можно сделать?

Спасибо.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Рассмотрим на примере штатного скетча Blink.

1. Открыть Blink и сохранить с новым именем, например, Blink2

2. В папке Blink2 создать два файла: second_file.cpp и second_file.h

3. Закрыть и открыть снова Blink2 проект, появились два новых файла во вкладках.

4. Наполняем нужной информацией и используем.

5. Количество дополнительных файлов, скорей всего не ограничено.

Привожу текст всех файлов:

Blink2.ino

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
 
  This example code is in the public domain.
 */
#include "second_file.h"
 
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);     
}

// the loop routine runs over and over again forever:
void loop() {
  blink(led);
}

second_file.h:

#ifndef __SECOND_FILE
#define __SECOND_FILE

extern void blink(int p_led);

#endif

second_file.cpp:

#include <Arduino.h>

void blink( int p_led )
{
  digitalWrite(p_led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(p_led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

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

 

zar-gsm
Offline
Зарегистрирован: 16.11.2013

Спасибо :)

toc
Offline
Зарегистрирован: 09.02.2013

а можно оформить в виде библиотеки
http://arduino.ru/Hacking/LibraryTutorial

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011