Salve a tutti,
ho un problema di memorie con l'arduino uno....
ho una funzione che mi va a occupare la memoria ad ogni lettura da database....se ometto questa funzione fila tutto liscio invece.
C'è un metodo/funzione che mi libera la memoria ogni volta che questa funzione viene eseguita??
grazie
ps. il pezzo che mi da problemi è questo:
{
char buf[128];
int sisto;
int led=0;
my_conn.cmd_query("SELECT stato FROM arduino.attuatori where nome='led'");
sisto = my_conn.show_results2();
if(sisto == HIGH) { // if it is, the button.state() is HIGH
relay.on(); // turn MosFet on
}
else{ // if it is not, the button.state() is LOW
relay.off(); // turn MosFet off
}
Perdonami ma... Perchè invii i comandi MySQL direttamente da arduino ? non sarebbe più semplice inviare dei dati più semplici e/o riceverli tramite uno script php ?
Dovresti liberare la memoria di arduino in questo modo.....
eventualmente potresti mettere le variabili come costanti in define e poi le distruggi quando non le usi più con #undefine se non ricordo il comando errato....
Spero di non aver detto baggianate, ma ripeto io quando ho usato la eth sono passato x degli script php
Il commento di MauroTec (Ciao Mauro !!! )non è sbagliato, hai usato una freeram() ? per vedere quant'era la mem usata o hai solo supposto la saturazione ?
Se così non funziona ti conviene passare ad un arduino con più memoria es Mega 1280/2560
Risolto...il problema era nella libreria non in quel comando specifico.
comunque sto usando una wifi shield, molto più facile da utilizzare dell'ethernet...