Gast
#4356958
Auf einem tiny2313a will ich einen Timer laufen lassen. Bei Tastendruck (IRQ) soll der Timer starten und dann Minuten zählen. Ist eine bestimmte Zeit verstrichen, soll ein Pin geschaltet werden. Läuft der Timer nicht, soll eine andere Routine ggf. ebenfalls den Pin schalten. Hier ein Auszug aus dem Code (ich hoffe, ich habe nicht zu viel gekürzt - damit es übersichtlich bleibt):
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 | |
Wenn ich die Zeile 1 auskommentiere, klappt es. Andernfalls wird 2 ausgeführt, selbst wenn gar nicht in diesen else-Zweig gewechselt werden dürfte, weil der Timer noch läuft (CS11 gesetzt). Auch wenn ich die Befehle in 1 und 2 vertausche funktioniert es. Das raubt mir schon seit Stunden den Verstand - so blind kann ich doch gar nicht sein!?