Attiny84-20PU INT0 Interrupt

Gast #4381427
Lesenswert?

Hallo,

möchte mit meinem Taster, Anschluss an INT0, ein Interrupt Routine 
auslösen. Der Taster zieht beim betätigen das Potenzial auf Masse, 
unbetätigt 5V. Habe schon alles versucht jedoch kann ich den Modus des 
folgenden Programms beim betätigen des Tasters nicht ändern.
1
#include <avr/io.h>
2

3
#include <avr/interrupt.h>
4

5
 
6

7
#define F_CPU 8000000UL
8

9
 
10

11
int modus=0;
12

13
 
14

15
 
16

17
 
18

19
 
20

21
 
22

23
int main(void)
24

25
{
26

27
    DDRA=0xff;
28

29
       DDRB=0x00;
30

31
       
32

33
       PORTA=0xf0;
34

35
       
36

37
       MCUCR=0x02;
38

39
       GIMSK=0x40;
40

41
       
42

43
       
44

45
       sei();
46

47
       
48

49
       
50

51
       
52

53
       while(1)
54

55
    {
56

57
        if (modus==0)
58

59
             {
60

61
                    PORTA=0xf0;
62

63
             }
64

65
             else
66

67
             {
68

69
                    PORTA=0x0f;
70

71
             }
72

73
             
74

75
             
76

77
             //TODO:: Please write your application code 
78

79
    }
80

81
       return 0;
82

83
}
84

85
 
86

87
ISR(EXT_INT0_vect)
88

89
{
90

91
       modus=1;
92
}

Der Interrupt soll bei fallender Flanke ausgelöst werden. Welches 
Register könnte falsch eingestellt sein? Ist der Interrupt vektor 
richtig?

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