Modificare libreria ... Esportare un valore
buona sera, forse è un argomento più da forum di programmazione c++ che di progetti arduino, ma ci provo comunque, sono diversi giorni che cerco e faccio prove ma non riesco uscirne e le librerie c++ per quanto abbia letto qua e la non riesco comprenderle del tutto, capisco cosa fanno vari pezzi isolati, ma nell'insieme di salti e dichiarazioni mi perdo. spero qualcuno riesca illuminarmi, mi piacerebbe imparare qualcosa di più sulle librerie.
all'interno di una libreria viene fatto un parse di un header http, viene smembrata per rcavare valori che servono alla libreria stessa, mi sono fatto una variabile parte e ho riunito tutti char per ottenere un unica una striga (parliamo del file cpp)
headerstring.concat(ch1);
quindi facendo un serial print dentro la libreria vedo il blocco che mi serve sul serial monitor mentre è in esecuzione, ora questa stringa lo voglio esportare sul serial non mi serve nulla
ho dichiarato nella lib.h nelle sezione pubbica
public:
string getstr() ;
nella lib.cpp ho messo le dichiarazioni all'inizio
char ch1;
string headerstring="";
....
....
string lib::getstr()
{
return headerstring;
} ;
tutto viene compilato senza errori, ma non come prendere questa stringa dallo scketch
se metto nello sketch:
void header_get()
{
string prova = lib.getstr();
}
ottengo questo errore ...> error: expected primary-expression before '.' token
se metto nello sketch:
void header_get()
{
string prova = lib::getstr();
}
ottengo questo errore ...> error: cannot call member function 'lib::getstr()' without object
cosa sbaglio? come faccio prelevare questo valore dallo sketch?
grazie
all'interno di una libreria viene fatto un parse di un header http, viene smembrata per rcavare valori che servono alla libreria stessa, mi sono fatto una variabile parte e ho riunito tutti char per ottenere un unica una striga (parliamo del file cpp)
headerstring.concat(ch1);
quindi facendo un serial print dentro la libreria vedo il blocco che mi serve sul serial monitor mentre è in esecuzione, ora questa stringa lo voglio esportare sul serial non mi serve nulla
ho dichiarato nella lib.h nelle sezione pubbica
public:
string getstr() ;
nella lib.cpp ho messo le dichiarazioni all'inizio
char ch1;
string headerstring="";
....
....
string lib::getstr()
{
return headerstring;
} ;
tutto viene compilato senza errori, ma non come prendere questa stringa dallo scketch
se metto nello sketch:
void header_get()
{
string prova = lib.getstr();
}
ottengo questo errore ...> error: expected primary-expression before '.' token
se metto nello sketch:
void header_get()
{
string prova = lib::getstr();
}
ottengo questo errore ...> error: cannot call member function 'lib::getstr()' without object
cosa sbaglio? come faccio prelevare questo valore dallo sketch?
grazie
una volta definita la classe e metodi, nello sketch devi creare un oggetto che avrà tutte le caratteristiche della classe.
dal pezzo dello sketch non si capisce se l'hai dichiarato o no.
dal pezzo dello sketch non si capisce se l'hai dichiarato o no.
Arduino Forum > International > Italiano > Generale (Moderator: leo72) > Modificare libreria ... Esportare un valore
arduino
Comments
Post a Comment