Con una funzione occupa meno memoria!

E' solo una piccola parte del generatore con DDS e GPS, che ha molte funzioni.

void note()
{
digitalWrite(LED_LOCK,0); digitalWrite(LED_NO_F_NO_LOCK,0);
for(byte biriga=0; biriga<=6; biriga+=2)
  {
  scrivi_righe (biriga);
  delay(200);
  }
}

void scrivi_righe(byte r)
{
lcd.clear();
lcd.print(t_note[r]);
lcd.setCursor(0,1); lcd.print(t_note[r+1]);
}

32290; 1775

void note()
{
digitalWrite(LED_LOCK,0); digitalWrite(LED_NO_F_NO_LOCK,0);
for(byte biriga=0; biriga<=6; biriga+=2)
  {
  lcd.clear();
  lcd.print(t_note[biriga]);
  lcd.setCursor(0,1); lcd.print(t_note[biriga+1]);
  delay(200);
  }
}

32332; 1817

Forse perché quando passa alla funzione lascia il resto?...

Strano. Sei sicurissimo ?
Con la funzione in più, in assembly mi aspetterei + codice, c'e' in più la chiamata a funzione con il passaggio del parametro in stack.

Chissà come compila... A volte vedo cose veramente strane, ad esempio cambio il nome di una variabile e cambia l'occupazione di memoria! Credo che stia in bilico fra una soluzione e un'altra e basti un soffio di vento per scegliere l'una piuttosto che l'altra!

Comunque alla fine ho tolto tutta la funzione della visualizzazione di quelle note, perché quello che volevo aggiungere (marker in terza armonica per la scala delle radio FM) non ci andava comunque!