Hi, ich suche jetzt seit 2 Tagen nach dem gleichen Problem und wette das es ein ein/zwei Zeiler ist. Mein Programm das an sich nicht mal besonders schön ist (dazu brauche ich erstmal keine Tipps, danke) reagiert nicht auf die Interrupts. Per polling klappt alles. Die Kommentare waren auch weniger für die Öffentlichkeit bestimmt ;) sind mehr selbstgespräche Vielen Dank im voraus, JKW
1 | |
2 | |
Ja was denn nun? gesetzt oder nicht gesetzt? so wie es jetzt ist, hast du einen Interrupt bei Low-Level am Pin, weil die Enistellbits gelöscht sind. (und keine deiner in den ISR veränderten Variablen ist volatile)
z.B. für ATMEGA8:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
Oh man! danke Karl Heinz Buchegger ;) das hab ich 100mal gelesen und immer für richtig befunden ich wollte MCUCR |= (1<<ISC00) | (1<<ISC10); //jede Flanke MCUCR &= ~((1<<ISC01) | (1<<ISC11)); //jede Flanke haben. Jetzt komm ich mir wie ein Idiot vor. :D Danke sehr manchmal ist es etwas waldig bei mir
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.