ricordarsi di impostare la variabile globale come volatile, e se di dimensioni superiori a 8bit, allora usare un flag per evitare che loop e ISR accedino contemporaneamente alla variabile.
Il tuo obbiettivo è rimanere in stato di interrupt il minor tempo possibile.
no, niente goto nemmeno dall'interrupt, a meno che non resetti.
comunque non mi piace quest'idea di reset, quì che un più profondo errore di architettura del codice. spiega cosa vuoi fare