Die Kandidaten für einen Neustart sind:
1) Störungen auf die Resetleitung (ggf. extra Pullup oder Kondensator als Abhilfe)
2) Spannungseinbrüche oder Störungen ( alle GND, VCC angeschlossen ? , Kondensatoren OK ?)
3) Watchdogreset (ggf. in den Fuses auschalten)
4) Stack Überlauf (eher in ASM, selten in C)

5) Compiler Problem mit mehr als 64K bzw. 128 K -> solte vor allem Fehler bei Textkonstanten geben, kaum einen Neustart.


Was genau den Reset ausgelöst hat kann Steht in einem Register.
Weil es ja manchmal geht, sollte es eher eine elektrische Störung sein.