"auch wenn man das Flag per SW zurücksetzt."
Bei manchen Komponenten, wie I2C/USI, kann das etwas haarig sein - den
Interrupt ausschalten ist ok, aber das Flag zurücksetzen löst manchmal
eine Aktion aus.
"Ich habe aller interrupts als SIGNAL realisiert."
Ist ok, kannst in der Routine ja das Interrupt-Flag setzen.
"Weil die ist doch von höherer priorität?"
Nein, es gibt bei AVR keine echten Prioritäten - die im Handbuch
genannten "Prioritäten" beziehen sich nur auf die Entscheidung,
welcher Vektor verwendet wird, wenn gleichzeitig mehrere anstehen.
Jeder Interrupt kann jeden unterbrechen, wenn man ihm das erlaubt.
Folglich muss man damit vorsichtig umgehen und braucht genug Platz für
den Stack.
Eine andere Frage ist übrigens, ob dein Grundansatz sinnvoll ist. Es
hat hier schon Leute gegeben, die in der Interrupt-Routine eine ewig
lange Warteschleife gebaut haben. Generell gilt, dass in
Interrupt-Routinen nur einfache schnelle Aktivitäten reingehören. Was
länger dauert, gehört ins Hauptprogramm, der Interrupt löst das dann
per Flag nur aus.