Hi :) Ich versuche gerade einen Interrupt in mein Programm einzubauen.
Leider hat es nicht funktioniert, weshalb ich ein kleines Testprogramm
erstellt habe.
Mein Problem. Er löst den Interrpt aus und erhöht auch das Reset auf 1.
Springt aber dann in der Main nicht ins If rein. Bin am verzweifeln.
Zum Testprogramm, er soll mir da nur alle LEDs ausschaulten und bei
Interrupt einschalten.
Vielen Dank schonmal!
1 | #include <avr/io.h>
|
2 | #include <avr/interrupt.h>
|
3 |
|
4 | int Test=0;
|
5 |
|
6 |
|
7 | ISR(INT0_vect){
|
8 |
|
9 | Test++;
|
10 | }
|
11 |
|
12 |
|
13 | int main(void)
|
14 | {
|
15 |
|
16 | DDRB = 0xFF;
|
17 | DDRD = 0x00;
|
18 |
|
19 | GICR |= (1<<INT0);
|
20 | MCUCR |= (1<<ISC01) | (1<<ISC00);
|
21 | sei();
|
22 | while(1)
|
23 | {
|
24 | PORTB=0x00;
|
25 |
|
26 | if(Test==1){
|
27 | do{
|
28 | PORTB=0xFF;
|
29 | }while(Test==1);
|
30 | }
|
31 |
|
32 | }
|
33 | }
|