ADC geht nicht

Gast #95651
Hi,
der ADC des ATmega8 will nicht funktionieren. Der Code ist doch denkbar
einfach. Man findet ihn auch öfters im Netz. Ich bekomme als
Wandlungsergebnis immer nur 3ff. Wenn ich am ADC0 pin messe hab' ich
immer 5V. Egal welche externe Spannung, die ich messen will,anliegt.
Sogar wenn ich den Pin auf GND lege habe ich immer 5V. Eigentlich
unmöglich, oder???
Hat jemand eine Idee was ich falsch mache???

Merci Berni
Gast #95652
Hi

also das mit dem auf GND legen wenn 5 V anliegen würde
ich lassen. Könnte tötlich sein.
Ist das A Register als Eingang definiert?
Ist die AD Funktion aktiviert?

Gruß
 Tobi
Gast #95654
Ich habe den ACD0 port als Eingang definiert mit Pullups, hab' aber
auch die Pullups mal weggelassen ohne Erfolg.


AREF = 5V
AVCC = 5V
AGND = 0V

Im Anhang findet Ihr meine Codeausschnitte mit den relevanten Teilen.
Vielleicht bin ich ja schon Betriebsblind.
Übrigens ich takte mit einem 4MHz Quarz.
Angehängte Dateien:
Gast #95655
Ohh, ich hab' was gefunden. Das Interruptflag muss wieder gelöscht
werden. Ich Trottel. Jetzt tut sich mal was.
Danke für Eure Hilfe. Die fünf Volt kommen wohl durch die Pullups. Ich
lass die jetzt weg. Dann funktioniert es....
Gast #95656
Jetzt habe ich aber immer noch ein Problem.
Die Wandlung funktioniert immer nur einmal. Starte ich per Taster eine
neue Wandlung ADSC wieder auf eins setzen. Dann kommt immer nur das
alte Ergebnis raus.
Nach einem Aus/Einschalten kann ich wieder eine Wandlung machen...???
Gast #95657
Hi Berni,

denk dran: falls right adjusted, erst das ADCL und dann das ADCH lesen.
Ansonsten werden die Register bei der nächsten Wandlung nicht
upgedatet.

MfG bluemole
Gast #95658
Hi!

Wo man hier gerade beim Thema ist, möchte eine ADC-Wandlung für einen
Fotowiderstand (LDR) machen.
Habe mir gedacht das ich einen Pullup (10KOhm) von VCC an z. B. ADC2
dranhänge und vom ADC2 den LDR an Masse.
Wie muß dann AVCC gespeißt werden?
So wie VCC mit 5V oder auch mit nen Widerstand?
Braucht man unbedingt den Pin AREF für eine ADC?
Möchte das ganze auch im "Free Running Mode" machen und per ADC-IRQ
wird einfach ein Register damit gefütter.
Hat jemand ein ASM-Prog dafür?

Gruß
Andi

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.