Ich vermute dass der Controller nach beenden der Schleife ins Nirvana springt und somit auch die Interrupts nicht mehr ausgeführt werden. Generell sollte man am Ende der Mainmethode bei einem Mikrocontroller eine endlos Schleife (while(true) einfügen.