Volevo spostare parte del mio codice in una seconda scheda nell'IDE di Arduino, per organizzare meglio le cose. All'inizio, ho solo provato a spostare una funzione e sembrava funzionare bene. Potrei chiamare la funzione dalla setup()
funzione nella mia scheda principale e non ci sono stati problemi durante la compilazione o il caricamento.
Tuttavia, ho provato a inserire un'intera classe nella seconda scheda e improvvisamente non ha funzionato più. Per esempio:
Scheda 1:
TestClass obj;
void setup()
{
obj.init();
}
void loop()
{
//...
}
Scheda 2:
class TestClass
{
public:
void init()
{
//...
}
};
Quando ho provato a compilare questo, mi ha dato i seguenti errori:
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
Perché riconosce una funzione in un'altra scheda, ma non una classe? C'è un modo per farlo funzionare nell'IDE di Arduino o devo usare un'alternativa come Eclipse?
tab1
e tab2
rispettivamente. I nomi sono stati impostati utilizzando l'IDE, quindi i file sottostanti sono entrambi .ino
.
#include
?