www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit atmega644p ADC


Autor: Nils S. (kruemeltee) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich klemme grad am ADC eines m644p. Er misst zwar, aber nur nach einem 
Reset. Wenn ich zwischendrin die Spannung verstelle, ändert sich der 
Wert erst nach einem Reset.

Hier mal mein Code:
ADMUX &= ~(1<<REFS0)|~(1<<REFS1);  // clear bits REFS0, REFS1 == AREF, int Vref off
ADMUX &= ~(1<<MUX0)|~(1<<MUX1)|~(1<<MUX2)|~(1<<MUX3)|~(1<<MUX4);  // single ended input ADC0
ADCSRA |= (1<<ADEN)|(1<<ADPS0)|(1<<ADPS1)|(1<<ADPS2);  // adc enable, prescaler 128 ==> 16mhz/128 = 0.125mhz sample rate
ADCSRA |= (1<<ADSC);  // start conversion
while(ADCSRA & (1<<ADSC));  // wait for conversion to complete
return ADCL;  


Was mich auch wundert, ich habe vor dem ADC Eingang einen 1:10 
Spannugsteiler, AREF = 5V. 0xff bekomme ich bei 14,1V Am Eingang des 
Spannungsteilers heraus... Ist jetzt aber nich so wichtig, der ADC an 
sich sollte eher funktionieren :)

Ich hoffe, dass ihr mir hier helfen könnt.

Autor: Thomas Eckmann (Firma: Thomas Eckmann Informationst.) (thomase)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nils S. schrieb:
> return ADCL;

Das ist ein 10-Bit Wandler. Der hat 2 Register, die ausgelesen werden 
müssen. Also: return ADC. Dann werden beide Register ausgelesen.

Wenn du die Register einzeln ausliest, musst du in der Reihenfolge ADCL, 
ADCH auslesen. ADCH muß immer gelesen werden, da damit der ADC wieder 
zurückgesetzt wird. Erst danachkannst du wieder neu messen. Deshalb 
misst er nur einmal bei dir.

mfg.

Autor: Nils S. (kruemeltee) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aaaah, vielen Dank!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.