Wenn ich das richtig sehe, dann ist Pin6 als Eingang und an diesem Pin
soll der externe Interrupt anliegen.
Hier ist bereits ein Fehler:
1 | // PORTA PIN 7 auf Augang setzen
|
2 | PORTA.DIR = 0b10000000;
|
3 | // PORTA Pin 6 auf Eingang schalten
|
4 | PORTA.DIR &= ~PIN6_bm;
|
5 | // Pullup Widerstand einschalten
|
6 | PORTA.OUT |= PIN6_bm;
|
1 | // PORTA PIN 7 auf Augang setzen
|
2 | // PORTA Pin 6 auf Eingang schalten
|
3 | PORTA.DIR = 0b10000000;
|
Hier schaltest Du Pin 6 der eigentlich der Eingang ist.
Du hast jedoch Pin 7 als Ausgang definiert
1 | ISR(PORTA_INT0_vect)
|
2 | {
|
3 |
|
4 | PORTD.OUTTGL = PIN6_bm;
|
5 | temp = Taste();
|
6 | //Code
|
7 | }
|
Hier das gleich Pin 6 ist Eingang und kann daher nicht vom
Mikrokontroller verändert werden.
Nur Pin 7 der als Ausgang definiert ist kann vom Mikrocontroller
verändert werden
1 | while(1)
|
2 | {
|
3 | PORTD.OUTTGL = PIN6_bm;
|
4 | // temp = Taste();
|
5 | _delay_ms(200);
|
6 | }
|