ma l'ho postato 2 pag fa l'esempio millis per aggiornare un display ... bha non capisco.
Pablos hai ragione scusa, non l'avevo proprio visto! Allora, l'ho riadattato al mio sketch come segue:
void loop()
{
unsigned long currentMillis_a = millis();
if(currentMillis_a - previousMillis_a > interval_a)
{
previousMillis_a = currentMillis_a;
phvalue = letturaph();
lcd.setCursor(0,0);
lcd.print("pH : ");
lcd.print(phvalue);
}
readButtons(); //I splitted button reading and navigation in two procedures because
navigateMenus(); //in some situations I want to use the button for other purpose (eg. to change some settings)
if(abilitazioneLog != 0)
{
lastSaveLoop ();
}
} //loop()...
con questa funzione di lettura
int letturaph()
{
phdigit = analogRead(phin);
phvalue = (((float)phdigit*14.00)/1023.00);
//Serial.println (phvalue);
return phvalue;
}
Ora sembra andare meglio, ma purtroppo la videata a sempre la priorità su tutto. In pratica se io entro nel menu questo si interrompe per mostrarmi la videata di lettura e poi rimane sulla videata di lettura.
Ora ci smanetto un pò credo di aver capito l'inghippo. Grazie per l'aiuto!