Reset_AVR(); sembra scattare arbitrariamente ma comunque non fa il reset

e... se elimini solo il while?