Gast
#3925356
Hallihallo liebe Bastlergemeinde! Leider muss ich eure Aufmerksamkeit auf ein weiteres Ich-sehe-den-Wald-vor-lauter-Bäumen-nicht-mehr-Problem lenken... Und es geht, wie so oft, um den ADC. Vorweg möchte ich gleich noch kurz anmerken, dass ich mich schon mehrere Male durch das ADC-Kapitel im (richtigen) Datenblatt, sowie einige Code-Beispiele und andere Threads gewälzt habe. Nun bin ich aber an dem Punkt angekommen, wo mir nix mehr einfällt. Ich habe also vor, den ADC des ATMega32 (CPU-Takt 16 MHz) im free running mode laufen zu lassen. Am Kanal 7 (Pin PA7) hängt ein Poti und dem AREF-Pin habe ich einen Kondensator spendiert. Die Schaltung scheint OK zu sein, alles durchgemessen und wie erwartet. Die LCD-Ansteuerung ist übrigens getestet und funktionsfähig. Hier ist 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 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |
100 | |
101 | |
102 | |
103 | |
104 | |
105 | |
106 | |
Der Interrupt ist hier nur zu Test-Zwecken aktiv und sollte eine zahl auf dem Display hochzählen, wenn eine Wandlung abgeschlossen ist. Dies scheint niemals der Fall zu sein, also ist, denke ich, bei der Konfiguration des ADC was faul. Folgende Sachen hab ich ausprobiert: - mit/ohne Interrupt - mit/ohne explizitem clear des Interrupt-Flags (das Flag triggert ja im free running) - alle Einstellungen doppelt und dreifach überprüft... es bleibt dabei, auf dem LCD bleibt die 0 stehen Meine wichtigste Erkenntnis bisher ist wohl, dass der ADC gar nicht anzulaufen scheint, aber ich komme trotzdem nicht weiter. Könnt ihr mir weiter helfen?