Gast
#2240822
Hi, Ich möchte mit einem MSP430G2211 7-Seg-Anzeigen ansteuern. Das geht auch ganz gut, aber sobald ein Takt dazukommt wirds einfach nur strange. Hier mein Code:
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 | |
Zweck des Programms: Die Anzeige soll die Sekunden- und 10-Sekunden-Stelle einer Uhr bedienen und multiplex ansteuern. Die Sekunden-Stelle fängt auch an hochzuzählen. Allerdings springt sie unvorhersehbar ständig auf null zurück. Mal zählt sie bis 1 und springt zurück, mal bis 7, mal zählt sie auch durch bis 9. Was läuft hier schief? Der Sekundenvariable wird am Anfang des Programms der Wert null initial zugewiesen, danach kann sie eigentlich nur noch steigen. Wieso geht sie auf null zurück? Wenn man die Timings verkürzt (z.B. 200 statt 5000), was für einen flimmerfreien Betrieb eigentlich nötig wäre, verschärft sich das Problem, und die Sekunden zählen(wenn überhaupt) noch bis 1. Mein erster Gedanke war, die Variable mit "static" zu versehen, aber es nützte nichts...