Forum: Mikrocontroller und Digitale Elektronik ATMega128 adc problem


von Wastl F. (rescuetigerchen)


Lesenswert?

Hallo.
Ich bekomme nach der Initialisierung mit
1
ADCSRA= (1<<ADEN)|(1<<ADSC)|(0<<ADFR)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0)|(0<<ADIE);
2
ADMUX = (1<<REFS0)|(0<<REFS1)|(0<<ADLAR)|(0<<MUX3)|(0<<MUX2)|(0<<MUX1)|(0<<MUX0);
und nachfolgender routine
1
    ADCSRA |= 0x40;     //Startb ADC Conversion
2
3
    while ( ADCSRA & (1<<ADSC) )
4
    {;}
5
    temp=ADC;
nur werte von 1023 angezeigt.
ATMega128 mit 16MHz Takt. Anschluss an PF0, Beschaltung:
AVCC ---100nF---GND
AVCC ---10µH--- VCC
und AREF----100nF---GND
Das Forum habe ich schon bemüht, aber egal was ich mache, der Wert 
ändert sich nicht (PF0 an GND oder PF0 an VCC; diverse Spannungen 
dazwischen)
Ich hoffe ihr könnt helfen!

Gruß,
rescuetigerchen

von Karl H. (kbuchegg)


Lesenswert?

Probier die ReadChannel Funktion von hier
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Der_interne_ADC_im_AVR

Einzig die Referenzeinstellung ändern, aber ansonsten gleich lassen. Die 
müsste aus dem Stand heraus funktionieren.

von Wastl F. (rescuetigerchen)


Lesenswert?

Danke für die schnelle Antwort.
Das Beispiel funktioniert. Aber auch meine Variante. Problem an der 
Sache war meine Hardware. Ich hatte einen Wackelkontakt bei einem der 
VCC Pins. Da VCC quasi nicht angeschlossen war, hat der Controller 
zwischen GND und GND gemessen.

Gruß,
rescuetigerchen

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.