Hallo nochmal!

Im ATMega32-Datanblatt steht folgendes:
When changing the ISC2 bit, an interrupt can occur. Therefore, it is recommended
to first disable INT2 by clearing its Interrupt Enable bit in the GICR Register. Then,
the ISC2 bit can be changed. Finally, the INT2 Interrupt Flag should be cleared by writing a logical
one to its Interrupt Flag bit (INTF2) in the GIFR Register before the interrupt is re-enabled.
Draus schließe ich, dass - unabhängig davon, dass es hier einen anderen Interrupt betrifft und es um das Ändern einer Interrupt-Einstellung geht - erst der Interrupt deaktiviert und dann das Flag gelöscht werden muss. Danach erst soll die ISR wieder aktiviert werden.
Also hab ich jetzt am Beginn das Löschen des INT0 Bits im GICR-Register, dann die Messung und danch das Löschen des Flags mit anschließender Reaktivierung der ISR. Leider ändert sich nichts. Das Löschen des Flags stoppt die weitere Ausführung der ISR.

Das, was hier steht, geht bei mir so nicht:
Bit 6 – INTF0: External Interrupt Flag 0
When an edge or logic change on the INT0 pin triggers an interrupt request, INTF0 becomes set
(one). If the I-bit in SREG and the INT0 bit in GICR are set (one), the MCU will jump to the corresponding
interrupt vector. The flag is cleared when the interrupt routine is executed.
Alternatively, the flag can be cleared by writing a logical one to it. This flag is always cleared
when INT0 is configured as a level interrupt.
Das setzten des INTF0-Bits stoppt wie gesagt jegliche weitere Ausführung. Und als "Level interrupt" hab ich's ja nicht konfiguriert...

Bääääär