Du wechselst mit
von einem offenen Eingang (floating) zu einem definierten Low-Pegel, was schon als fallende Flanke erkannt wird. Das Interrupt-Flag wird auch gesetzt, wenn das I-Bit nicht aktiviert ist. Sobald dieses dann aktiviert wird, wird der Interrupt ausgeführt.
Am besten konfigurierst Du zuerst den Port und aktivierst dann den externen Interrupt. Also
Code:
DDRD = 1<<PD3;
PORTD = 1<<PD3;
MCUCR |= 1<<ISC11;
GICR |= 1<<INT1;
GIFR |= 1<<INTF1;
sei();
Somit wird der Interrupt erst scharf geschaltet, wenn der PD3 schon einen definierten High-Pegel hat.
Sicherheitshalber habe ich mit der vorletzten Zeile das Interrupt-Flag ausdrücklich gelöscht.
Gruß,
askazo
Lesezeichen