Interrupt Springt nicht in die ISR (ATmega169)

OP #3538410
Lesenswert?

Ich möchte meine Taster nicht mehr zyklisch abrufen, sondern auf 
Interrupts umstellen. Durch das Datenblatt für meinen ATmega169 habe ich 
vor meiner main das geschrieben.
1
//######################################################################
2

3
EIMSK|= 0x81; // Pin Change Interrupt Enable 1 und INT0
4
EICRA|=0x2; // The falling edge of INT0 generates an interrupt request.
5
EIFR |= 0x81; // Pin Change Interrupt Flag 1 und INT0
6
PCMSK1 |=0b11111; //PCINT8 -12 Frei geben PCI1 lößt aus
7

8

9
sei();
10

11
//######################################################################

Die beiden ISR stehen in einer anderen ".c" Datei und sieht wie folgt 
aus
1
//######################################################################
2
/* External Interrupt Request 0 */
3

4
ISR(INT0_vect)
5
{
6
  a=1;
7
  
8
}
9

10

11
/* Pin Change Interrupt Request 1 */
12
ISR(PCINT1_vect)
13
{
14
    a=2;
15
  
16
}
17

18
/################################################################
Drücke ich die Taste an INT0 oder PCINT8-12 springet das Programm 
dennoch nicht in die ISR. Dort habe ich brakpoints gesetzt.

Nach allem was ich durchgelesen habe sollte es so funktionieren...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren