Gast
#941352
Hi, habe eine kleines Interrupt Problem. Ich möchte zwei Interrupts
innnerhalb eines Programmes nutzten. Hier ist ein auszug aus meinem
Programm
////////////Interrupt////////////////
interrupt [EXT_INT0] void ext_int0_isr(void)
{
if(PIND.1==0)
Takt_T[counter_T]='O';
if(PIND.1==1)
Takt_T[counter_T]='I';
index_T++;
counter_T++;
}
interrupt [EXT_INT2] void ext_int2_isr(void)
{
if(PIND.3==0)
Takt_S[counter_S]='O';
if(PIND.3==1)
Takt_S[counter_S]='1';
index_S++;
counter_S++;
}
//////////////MAIN///////////////////////
//Interuppt init, int0 und int2 auf rising edge
EICRA=0x33;
EICRB=0x00;
EIMSK=0x05;
EIFR=0x05;
//
while(1)
//warte bis index_S bzw. index_T bei 100 angelangt ist
Nun tritt hierbei das Problem auf, dass kein Interrupt ausgelöst wird.
Wenn ich aber ein Interrupt auskommentiere funtkioniert das Progamm.
Die Variablen habe ich auch als volatile deklariert und "sei" ist auch
drin.
Habe ich irgendein fehler bei der initialisierung gemacht, oder ist es
technisch nichit möglich beide Itnerrupts einzubinden???