ADC im Mega32 gibt immer 0x00 aus

Gast #1816007
Lesenswert?
• ▲
▼
Hallo zusammen,

ich habe ein Problem mit dem ADC im Mega32 (DIL40-Gehäuse).
Ich möchte an Port A6 (=ADC6) eine Spannung von 0...5V messen, die ich 
mit einem 2k2 Poti vorgebe. Also sehr einfach. 8-bit reichen mir, ich 
nutze den Modus mit "Left-Adjust". Der Wandler soll im Free-Running-Mode 
laufen, ich will dann vom Programm aus zu beliebigem Zeitpunkt spontan 
auf das Datenregister ADCH zugreifen wenn ich den Messwert brauche.

Mein Problem: die Spannung liegt mit dem Multimeter messbar am Pin PA6 
des Mega32 an, aber im Register ADCH steht immer nur 0x00. Auch die Pins 
AVCC und AREF liegen wie gewünscht messbar auf 5V.

Den ADC initialisiere ich so:

ADMUX =0x66; //Vref = AVCC, Left-Adjust, Channel=ADC6 single ended
SFIOR =0x00; //freerunning mode
ADCSRA=0x7F; //ADC enabled, ADC start,Auto Trigger, Int 
off,Prescaler=128

im Programm greife ich dann spontan auf das Register ADCH zu:

unsigned char variable;

variable=ADCH;


Sieht jemand einen Fehler? Eigentlich kann man doch da nicht viel falsch 
machen...

vielen Dank für alle Tips!!

Paul

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.