Ah, vielen Dank für eure Hilfe. Hab's gerad eben auch hinbekommen... nur eine Frage zu dem MCUCR hab ich noch: Warum überschreibt der Zweite das Erste? Laut Datenblatt sind ISC01 und ISC00 unabhängig voneinander - je nachdem, welche der insgesamt 4 Kombinationsmöglichkeiten ich wähle, habe ich die 4 Modi: (vorne: ISC01 / hinten: ISC00) "00 - Interrupt bei Low-Level auslösen" "01 - bei irgend einer Pegeländerung" "10 - bei fallender Flanke" "11 - bei steigender Flanke"


Ist dem nicht so? Wenn nein - wie kann ich dann die 4 verschiedenen Modi aussuchen?




Hier mal noch mein kompletter Code... hilft vielleicht mal irgend einem Anfänger weiter, der vor dem selben Rätsel wie ich steht:



Code:
#include <avr/delay.h>
#include <avr/interrupt.h>

//Variablen
uint8_t counter;
uint8_t i;

//Interruptroutine, die ausgelöst werden soll
ISR(INT0_vect)
{
	for(i=0; i<2; i++)
	{
		PORTC |= (1<<0);
		
		//wait 16*65536
		counter = 0;
		while(counter < 16)
		{
			counter++;
			_delay_loop_2(65535);
		}

		PORTC &= ~(1<<0);
		
		//wait 16*65536
		counter = 0;
		while(counter < 16)
		{
			counter++;
			_delay_loop_2(65535);
		}
	}
}



int main(void) 
{

	/*###Initialisierungsphase###*/

	//Pins bzw. Ports als Ein-/Ausgänge konfigurieren
	DDRC |= 0x11;	//10001000 -> PORTC.4 ist blinkende LED im Hauptprogramm, PORTC.0 ist Anzeige des Interrupts
	DDRD |= 0x03;	//00000011 -> PORTD.2 ist Interrupt0 (Der ausgelöst werden soll)


	//Interrupts initialisieren
	MCUCR &= ~(1<<ISC01);	//stellen den Modus ein, wie der Interrupt auslöst - je nach Art des Sensorsignals muss ein anderer Modus gewählt werden
	MCUCR |= (1<<ISC00);	//00 bei Low-Level //01 bei Änderung des Pegels (egal, welche) //10 bei fallender Flanke (high zu low) //11 bei steigender Flanke (low zu high)
	GICR |= (1<<INT0);		//aktiviert den Interrupt an sich
	sei();					//aktiviert das globale Interrupt Enable-Flag (I im SREG-Register)


	while(1)
	{
		PORTC |= (1<<4);
		
		//wait 16*65536
		counter = 0;
		while(counter < 16)
		{
			counter++;
			_delay_loop_2(65535);
		}

		PORTC &= ~(1<<4);
		
		//wait 16*65536
		counter = 0;
		while(counter < 16)
		{
			counter++;
			_delay_loop_2(65535);
		}
	}
	
	
	return 1;
}


Vielen Dank für eure Hilfe!! Schaut mal bitte noch wegen dem MCUCR-Register, das verwirrt mich noch. Ansonsten - alles gelernt, was auf dem Plan stand. Danke!!!


Grüßle
Corone