Chciałem przenieść część mojego kodu do drugiej zakładki w Arduino IDE, aby lepiej zorganizować. Na początku próbowałem tylko przenieść funkcję i wydawało się, że działa dobrze. Mogłem wywołać funkcję z setup()
funkcji na mojej karcie głównej i nie wystąpiły problemy z kompilacją lub przesyłaniem.
Próbowałem jednak umieścić całą klasę w drugiej zakładce i nagle przestało to działać. Na przykład:
Zakładka 1:
TestClass obj;
void setup()
{
obj.init();
}
void loop()
{
//...
}
Zakładka 2:
class TestClass
{
public:
void init()
{
//...
}
};
Kiedy próbowałem to skompilować, wystąpiły następujące błędy:
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
Dlaczego rozpoznaje funkcję na innej karcie, ale nie klasę? Czy istnieje sposób, aby działał w Arduino IDE, czy też muszę używać alternatywy takiej jak Eclipse?
tab1
i nazwy tab2
. Nazwy zostały ustawione za pomocą IDE, więc oba pliki leżą u podstaw .ino
.
#include
?