inizio a sospettare che la routine freeram del playground non funzioni
int freeRam () {
extern int __heap_start, *__brkval;
int v;
return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
}
e che in realtà io abbia problemi di RAM. O ci siano ANCHE problemi di RAM i cui sintomi sono i reset durante l'esecuzione. A stampa dice che ci sono oltre 800 byte.
@gpb01
Io ho fatto un casino, non PaoloP! Comunque ho controllato la tua versione con la mia, dopo aver rimosso il commento e coincidono. La tua ha in più un else {} che io ho eliminato ma che forse rimetterò, riempendolo, una volta che funzionerà.
@leo72
A me serviva una routine che prendesse anche dei caratteri digitati da un terminale, per cui l'alternativa non va bene. Sono tornato alla versione iniziale che funziona.