In deinem Fall genügt es vielleicht schon, wenn du am Ende der ISR die
Interrupt Flags löschst, indem du eine 1 an die Bitposition schreibst:
1 | PORTC.INTFLAGS = INT0IF_bm;
|
Wenn die zweite dich störende Flanke während der ersten ISR auftritt,
dann würdest du das Flag löschen und aus der ISR zurückkehren. Das Flag
ist allerdings gelöscht, also wird die ISR nicht nochmal aufgerufen.
Wenn die Interrupts zu schnell nacheinander getriggert werden, aber
nicht innerhalb der ersten ISR, dann kann Olivers Vorschlag helfen: In
der Ext. Interrupt ISR startest du einen Timer und deaktivierst du die
Ext. Int. ISR. (INT0MASK löschen). In der Timer ISR, deaktivierst du den
Timer und aktivierst die Ext. Int. ISR.