это, вероятно, вопрос для новичков (я не пошел в школу для этого), но это задерживает меня в течение двух дней.Доступ к массиву в Library.cpp
Я пишу эскиз в Arduino для перемещения робота. Я храню свои позиции в массиве, как
int joint1[180];
Я получил это прекрасно работает и работает, если все в robot.ino, но теперь я хочу, чтобы поместить этот массив в самодельную библиотеке stringer.h
и stringer.cpp
но доступ это из .ino, чтобы сделать его немного легче понять для кого-то другого.
вопрос переопределенный i считывание домашнего кода jcode из sd в виде строки, я помещаю значения в int whit toint comand, затем я сохраняю это значение в 7 массивах joint1 [180] joint2 [180] и т. Д. Теперь Я хочу использовать массив в моем главном скрипте robot.ino, как я могу получить доступ к массиву whitin stringer.ccp, или я помещаю массивы в свой файл .ino и заставляю stringer отправлять строку robot.ino и делить ее там. ... это делает его очень трудно для других функций в стринге?
тест ситуация globals.h
//#include "Arduino.h"
//#include "StandardCplusplus.h"
//#include <vector>
#include "globals.h"
extern int Joint1[180];
extern int Joint2[180];
extern int Joint3[180];
extern int Joint4[180];
extern int Joint5[180];
extern int Joint6[180];
extern int Slomo[180];
globals.cpp
//#include "Arduino.h"
//#include "StandardCplusplus.h"
//#include <vector>
#include "globals.h"
int Joint1[180];
int Joint2[180];
int Joint3[180];
int Joint4[180];
int Joint5[180];
int Joint6[180];
int Slomo[180];
tester.ino
//#include "StandardCplusplus.h"
#include <globals.h>
int check = 100;
int temp = 0;
void setup() {
for (int p = 0;p < check; p++){
Joint1[p] = p + 33;}
}
void loop() {
if (temp < check){Serial.println(Joint1[temp]);temp = temp + 1;}
}
другой способ
globals.h
#include "Arduino.h"
#include "StandardCplusplus.h"
#include <vector>
#include "globals.h"
extern std::vector<int> Joint1;
extern std::vector<int> Joint2;
extern std::vector<int> Joint3;
extern std::vector<int> Joint4;
extern std::vector<int> Joint5;
extern std::vector<int> Joint6;
extern std::vector<int> Slomo;
globals.cpp
#include "Arduino.h"
#include "StandardCplusplus.h"
#include <vector>
#include "globals.h"
std::vector<int> Joint1(180);
std::vector<int> Joint2(180);
std::vector<int> Joint3(180);
std::vector<int> Joint4(180);
std::vector<int> Joint5(180);
std::vector<int> Joint6(180);
std::vector<int> Slomo(180);
я Виль получаю ошибку: #include вложенными слишком глубоко
Вы можете [изменить свой вопрос] (http://stackoverflow.com/posts/36235289/edit), чтобы добавить дополнительную информацию. –
Я сделал это, но он все еще находится на удержании – Nicolini