Ich wollte einen Teil meines Codes in eine zweite Registerkarte in der Arduino IDE verschieben, um die Dinge besser zu organisieren. Zuerst habe ich nur versucht, eine Funktion zu verschieben, und es schien gut zu funktionieren. Ich konnte die Funktion über die setup()
Funktion in meiner Hauptregisterkarte aufrufen , und es gab keine Probleme beim Kompilieren oder Hochladen.
Ich habe jedoch versucht, eine ganze Klasse in die zweite Registerkarte zu stellen, und plötzlich hat es nicht mehr funktioniert. Beispielsweise:
Tab 1:
TestClass obj;
void setup()
{
obj.init();
}
void loop()
{
//...
}
Tab 2:
class TestClass
{
public:
void init()
{
//...
}
};
Als ich versuchte, dies zu kompilieren, ergaben sich folgende Fehler:
tab1:1: error: 'TestClass' does not name a type
tab1.ino: In function 'void setup()':
tab1:5: error: 'obj' was not declared in this scope
Warum erkennt es eine Funktion in einer anderen Registerkarte, aber keine Klasse? Gibt es eine Möglichkeit, es in der Arduino IDE zum Laufen zu bringen, oder muss ich eine Alternative wie Eclipse verwenden?
tab1
und tab2
jeweils. Die Namen wurden mithilfe der IDE festgelegt, sodass die zugrunde liegenden Dateien beide sind .ino
.
#include
?