Verificare SRAM utilizzata

Come ulteriore riscontro al test fatto da Leo ecco un semplicissimo sketch che dimostra al di la di ogni dubbio che avr-gcc consente la ricorsività delle funzioni ed è abbastanza intelligente da non riempire lo stack.
Lo sketch conta da 0 a 10001 usando una funzione ricorsiva, l'uscita è determinata da una if e una return, i valori vengono inviati al monitor seriale e alla fine delle iterazioni viene ceduto il controllo al main loop che fa lampeggiare un led a dimostrazione che non c'è stato nessun stack overflow.

long iter = 0;
void setup()
{
  Serial.begin(115200);
  pinMode(13, OUTPUT); 
  digitalWrite(13, HIGH); 
  recurse();
  Serial.println("fine iterazioni");
}

void loop()
{
 digitalWrite(13, HIGH); 
 delay(100);
 digitalWrite(13, LOW); 
 delay(100);
}

void recurse(void)
{
 iter++;
 Serial.println(iter,DEC);
 if (iter > 10000)
   {
    iter = 0;
    return;
   }
 recurse();
}