ADC beim mega64?

Gast #271367
Lesenswert?

Moin allseits,

habe hier ein Problem mit dem Mega64, bei dem mir die Ideen ausgehen.
Was ich machen will ist folgendes: einen Analogwert am ADC0 einlesen
und den übert USART0 rausschicken. Die Referenzspannung ist am AREF
angeschlossen = 5V. Am ADC0 ist eine Shutzschaltung in Form zweier
Zehner Dioden gen Masse und Vcc und eines Tiefpasses angeklemmt. Wenn
ich nun 5V oder Masse an den Eingang lege kommt es auch an dem
entsprechenden Pin des µC an, die Schutzschaltung funktioniert also.
Wenn ich allerdings den Conroller laufen lasse (mit internem 1MHz RC
und angeklemmten JTAG mkII), sagt mir der JTAG Debug im AVR Studio,
dass ich immer den Wert 1023 als Ergebnis der AD Wandlung erhalte, egal
ob ich nun 5V oder GND an den Eingang anlege.

Bei der Wandlung sind die Register folgendermaßen gesetzt:
ADCSRA: 11000111
ADCSRB: 000
ADMUX: 00000000

Habe den Code mal mit angehängt. Bin für jeden Tip dankbar, sitze schon
seit 1,5 Tagen an dem Problem und finde den Fehler einfach nicht.

Harry
Angehängte Dateien:
Gast #271369
Lesenswert?

Hi,
1.greif mal direkt auf "ADC" zu damit bekommst du gleichzeitig den
Wert vom ADC in eine Variable.

2. Hast du auch AVCC angeschlossen.

3. Las die Schuztschaltung mit der Z-Diode mal weg. Das ist unsinn.
Gast #271374
Lesenswert?

Lass den Code nicht mit dem Code-Wizzard erstellen, da sind so viele
unnötige Zeilen die man sich durchsehen soll.
Wo und wann liest du ADCH und ADCL aus?
Clock / 128 ist 7kHz Sample Rate

So nur beim schnelle drüberschaun
Gast #271375
Lesenswert?

Ok, erstmal danke für die Antworten, Habe nun beim dritten durchgehen
der Tips und Nachmessen der entsprechenden Pins gemerkt, dass der Aref
Pin nur Kontakt mit dem Pad hatte, wenn ich mit der Messspitze
draufgedrückt habe, ups :)

Harry

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren