Forum: Projekte & Code ADC für Single und Free Run


von Erwin Stache (Gast)


Lesenswert?

Für Einsteiger

von Andreas (Gast)


Lesenswert?

hast du nicht irgendwas vergessen?

von Erwin Stache (Gast)


Angehängte Dateien:

Lesenswert?

ja, ja, ich dächte sie war dabei

von Frank (Gast)


Lesenswert?

Hallo Erwin !
Ich hab mal eine Frage bezüglich Freerunnig und Single Conversion.
Mein Problem ist folgendes. Auf einem Kanal lese ich ständig Werte ein 
(im freerunning Modus). Jetzt will ich aber zwischendurch kurz einen 
anderen Kanal einmalig einlesen.
Muss ich das im Single mode machen ?
Weil ich brauch nur einen Wert.
Oder soll ich beides im freerunning machen ?

Ist der Wechsel zwischen freerunnig und Singleconversion ohne Probleme 
möglich ?

Besten Dank im Vorraus

ein Hoch das es dieses Forum gibt !

Tschüssikowski  --Frank

von Erwin (Gast)


Lesenswert?

Hallo, habe lange nicht ins Forum geschaut.
Es reicht, wenn Du am Anfang den Freerun Modus einstellst -- es gibt 
auch einen Hinweis auf meinem AD_Code.

Also in folgender Reihenfolge:

Vorteiler einstellen -- Siehe Code
AD-Wandler einschalten -- set ADEN
Free Run oder Single Run auswählen

set ADFR für FreeRun

Wandlung starten -- set ADSC

und nun die Schleife beginnen

ADMUX einstellen
lesen - auswerten            LowByte zuerst
ADMUX verändern
lesen - auswerten
usw.

Für Single Wandlung geht es auch so:

ADMUX einstellen
AD Einschalten             set ADSC
ADIF prüfen, ob fertig
Lesen - Auswertem

ADMUX neu
Einschalten usw..

von Norbert Lukoski (Gast)


Angehängte Dateien:

Lesenswert?

Hallo. Hab ein kleines Problem. Arbeite zum ersten mal mit dem AVR
Atmega8 und möchte über den ADC0 Eingang eine Spannung einlesen und
über 7-SegmentAnzeige ausgeben lassen. Spannung kommt am Eingang an und
ich denke das der ADC im frei laufenden Betrrieb läuft, aber er spuckt
komische Zahlen auf der Anzeige aus. Meine MEinung ist, dass es an der
Ergebnisroutine liegt. Wenn wir in meine VAriable "value" einen Wert
definieren rechnet er den entsprechenden Wert aus und gitb ihn auch
richtig auf der Anzeige aus. Aber wenn er sich die Werte über den
Eingang ADC0 holen soll und diese dann in ADCL und ADCH reinschreibt
kommt nur Null raus. Kannst du mir vielleicht helfen?

von Matthias Büschel (Gast)


Lesenswert?

Hey, rihhtiger Freak bin ich ja auch nicht, aber wenn nicht mehr
Programm arbeitet, als in besser.c, dann wird ja für deinen ADC nie der
Interrupt freigegeben?! ACSR (ACIE=Bit3)ist 0 statt 1 !
Damit bleibt dann einer, was es ist.

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.