Pulsante, interrupt e led

Silente:
quindi agisce quando il pulsante viene rilasciato

Dipende da come è collegato. La condizione del ciclo while mi fa supporre che chiude verso massa una resistenza di pull-up (a margine: per evitare questi tipi di dubbi io preferisco non usare esplicitamente HIGH LOW ma definire delle label come PRESSED_LEVEL ecc che imposto all'inizio a seconda del collegamento hardware realizzato).

mefore:
Quindi ho la prova che nella while ci rimango finche c'è il pulsante premuto, quando lo rilascio il led verde si spegne e solo dopo che il led verde si è spento e sono trascorsi ulteriori 200ms vado a riarmare l'iterrupt. Ma spesso, oltre a spegnersi il led verde, mi cambia ancora di stato il led rosso.

Forse i fronti di discesa vengono catturati anche in condizione noInterrupts, e vengono gestiti alla riattivazione con interrupts. Le funzioni noInterrupts/interrupts agiscono solo sul bit di abilitazione globale, o anche su quelli specifici delle singole periferiche?