Forum: Mikrocontroller und Digitale Elektronik Frage zu bitweisem "Oder": |


von http://drive.to/OpenSourceSegway (Gast)


Lesenswert?

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...

von Fabs (Gast)


Lesenswert?

Wieso? Wenn du 0x00 mit 0x40 veroderst kommt doch 0x40 bei raus. Das 
steht dann auch in ADMUX.

Gruß
Fabian

von http://drive.to/OpenSourceSegway (Gast)


Lesenswert?

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?

von Fabs (Gast)


Lesenswert?

Und wo stimmt jetzt was nicht? 01000000 ist doch 0x40 und der Kommentar 
stimmt doch auch mit dem zitierten DB überein?!?

Gruß
Fabian

von http://drive.to/OpenSourceSegway (Gast)


Lesenswert?

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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

>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... ;-)

von Fabs (Gast)


Lesenswert?

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

von Matthias L. (matze88)


Lesenswert?

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

von http://drive.to/OpenSourceSegway (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.