Hallo, ich habe vor mit dem Timer1 alle 10 ms eine Variable per Interrupt hochzuzählen. In der Schleife soll dann alle 500 ms eine LED umgeschaltet werden. Das funktioniert aber nicht. Es funktioniert nur, wenn mehr Code abgearbeitet wird, hier die auskommentierte For-Schleife, welche mindestens 17 Iterationen durchlaufen muss. Meine Vermutung ist, dass die Variable zu schnell ausgelesen wird. Aber das macht ja keinen Sinn, da die ISR ja abläuft, ohne dass die Variable ausgelesen wird. Wo liegt hier mein Denkfehler?
Hier noch das Programm:
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 |
|
38 |
|
39 |
|
40 |
|
41 |
|
42 |
|
43 |
|
44 |
|
45 |
|
46 |
|
47 |
|
48 |
|
49 |
|
50 |
|
51 |
|
52 |
|
53 |
|
54 |
|