Forum: Mikrocontroller und Digitale Elektronik Nur erste ADC-Messung bei mega32 funktioniert


von Maxi H. (Gast)


Angehängte Dateien:

Lesenswert?

Wenn ich versuche den ADC vom Atmega32 an Port0 zu benutzen, und in
einer Schleife den gemessenen Wert an angeschlossenen Leds ausgeben
will (zum Testen nur die ersten 8 bit), funktioniert immer nur die
erste Messung, d.h. in ADCL steht der erste Messwert, und der ist
tatsächlich von der Eingangsspannung an PA0 abhängig. Aber bei allen
weiteren Messungen wird immer dieser Wert ausgegeben, egal ob ich die
Eingangsspannung verstelle. Im Anhang ist das Programm mit dem ich es
versucht habe, ich habe es auch schon mit Interrupts oder in Assembler
probiert und es war genauso.
Hab ich einen Fehler im Programm oder ist der Wandler kaputt?
Könnte vielleicht mal wer ein Programm posten, das auf jeden Fall
funktionieren muss, das in einer Endlosschleife von PA0 liest und auf
PORTC die ersten acht bit dieses Messwerts ausgibt?

Danke

von Rolf Magnus (Gast)


Lesenswert?

Der ADC ist "double buffered". Erst wenn du ADCH liest, wird der
Puffer freigegeben und der nächste Wert kann geladen werden. Da du ADCH
nie liest, bleibt der alte Wert stehen.

von Maxi H. (Gast)


Lesenswert?

Ahh, danke!!
Halleluja jetzt geht es!

von Mario Köhler (Gast)


Lesenswert?

Bin noch Neuling auf dem Gebiet.
Möchte dieses Programm aber ausprobieren.

ADCH auslesen? oder besser was ist gemeint

ein funktionierendes Programm würde mir sehr helfen

mfg
Mario

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.