Ich verstehe gerade nicht den Sinn dieser bitweisen Oder-Operation: #define FIRST_ADC_INPUT 0 #define ADC_VREF_TYPE 0x40 ADMUX=FIRST_ADC_INPUT|ADC_VREF_TYPE; Meiner Meinung nach wäre ADMUX=0 ? Also könnte ich mir das Oder auch sparen...
Wieso? Wenn du 0x00 mit 0x40 veroderst kommt doch 0x40 bei raus. Das steht dann auch in ADMUX. Gruß Fabian
Hmm, ja stimmt. Mit dem Rechner bekomme ich es jetzt auch raus. Allerdings passt das Ergebnis nicht zur Codevision-Ausgabe: (Atmega32) // ADC Voltage Reference: AVCC pin 0x40 = 01000000 Und das wäre laut Datenblatt: ADC Voltage Reference: AVCC with external capacitor at AREF pin Irgendwo muss ich da noch einen Fehler drin haben?
Und wo stimmt jetzt was nicht? 01000000 ist doch 0x40 und der Kommentar stimmt doch auch mit dem zitierten DB überein?!? Gruß Fabian
Kommentar in Codevision sagt: "ADC Voltage Reference: AVCC pin" = 00...... Ich habe aber 0100000, was "AVCC with external capacitor at AREF pin" bedeutet. Also die ersten beiden Bits müssen 00 sein um die Spannung vom AVCC-Pin zu nehmen.
>Kommentar in Codevision sagt: "ADC Voltage Reference: AVCC pin" = 00......
Gewissensfrage:
Traust du jedem Kommentar? Auch deinen eignenen? Stimmen die alle?
Vergiss die Kommentare...
Richtig (am richtigsten?) ist nur, was im Datenblatt und im Register
steht. Alles andere hat irgendwer vom DB abgetippt oder aus dem Internet
zusammenkopiert oder bei der Konkurrenz gestohlen... ;-)
ausserdem bedeutet "AVCC with external capacitor at AREF pin" doch, dass die Referenzspannung vom AVCC kommt. ARef sollte man dann nur mit nem C entkoppeln, der Störfestigkeit halber. Gruß Fabian
Ich kann mich zwar nicht direkt auf deinen ADC beziehen, aber laut meinem Denken stimmt das Kommentar sehr wohl. Bietet irgendein AVR denn an, Avcc als Referenz zu benutzen, OHNE externen Kondensator an ARef? Dann ist doch AVcc die Referenz und der Kondensator ist eh "optional", d.h. wenn man auf die Genauigkeit der Messungen wenig wert legt kann man ihn gerade bei AVcc als Referenz auch weg lassen. (Achtung: Dies ist weder ein Tip noch eine Aufforderung dazu, ich sage nur, dass es ohne auch funktioniert, wenn auch mit vergrößertem Fehler) REFS1 REFS0 Voltage Reference Selection 0 0 AREF, Internal Vref turned off 0 1 AVCC with external capacitor at AREF pin 1 0 Reserved 1 1 Internal 1.1V Voltage Reference with external capacitor at AREF pin Sind die Angaben vom Mega48/88/168. 00 wäre dann Referenz = Aref (extern angelegt). cu Matze
Es hat sich jetzt geklärt. Das Layout passt zu den gesetzten Registern und auch zum Kommentar. Der AREF-Pin wird lediglich mit einem C gegen GND verbunden und intern AREF auf AVCC geschaltet. Ich habe mich irgendwie darauf bezogen, dass der AREF extern die Spannung bekommt, was aber quatsch ist. Das wahr heute morgen wohl zu früh...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.