Forum: Compiler & IDEs ADC - interne Referenzspannung


von Dane (Gast)


Lesenswert?

Hallo,

ich habe einen Beispielcode für eine ADC Wandlung mit interner 
Vergleichsspannung VCC für den ATmega8 gefunden. Dabei wird bei der 
Initialisierung folgender "Mode" ausgewählt:

ADMUX |= (1<<REFS1);

Wenn ich aber das Datenblatt lese, dann sollte dies doch gar nicht 
funktionieren, da sich folgendes gilt:

REFS1  REFS0

  0      0     extern
  0      1     intern AVCC
  1      0     reserviert
  1      1     2.56V


Zum testen habe ich das Programm mit folgenden Varianten ausprobiert - 
beide liefern allerdings das gleiche Ergebnis. Ist das "Zufall", dass 
sowohl 01 als 10 das gleiche liefern, oder verstehe ich etwas nicht 
richtig?

ADMUX &= ~(1<<REFS1);
ADMUX |= (1<<REFS0);

ADMUX &= ~(1<<REFS0);
ADMUX |= (1<<REFS1);

Vielen Dank schon mal für euere Antwort :-)

von Karl H. (kbuchegg)


Lesenswert?

Dane schrieb:

> Zum testen habe ich das Programm mit folgenden Varianten ausprobiert -
> beide liefern allerdings das gleiche Ergebnis. Ist das "Zufall", dass
> sowohl 01 als 10 das gleiche liefern, oder verstehe ich etwas nicht
> richtig?

Wenn Atmel da ins Datenblatt schreibt "reserviert", dann bedeutet das 
mehr oder weniger, dass da zwar irgendeine Einstellung vorgenommen wird, 
aber Atmel garantiert dir nicht, dass zb bei einer Maskenrevision des µC 
in 5 Jahren, dann immer noch das gleiche passieren wird. Sonst hätten 
sie es ja dokumentiert.

Das aber irgendwas passieren wird, und das das höchst wahrscheinlich 
auch bei allen Mega8 zumindest aus der gleichen Serie immer das gleiche 
sein wird, ist sehr wahrscheinlich. Nur 'reserviert' (Anm. ... für 
Erweiterungen Atmelseitig) bedeutet halt aber auch "rechne lieber nicht 
damit, dass da immer und ewig genau die gleiche Funktionalität dahinter 
steckt - Finger weg - nicht benutzen"

Ins blaue hinein geraten: Der von dem du den Code hast, hat einfach nur 
einen Tippfehler gemacht und REFS1 geschrieben, als er REFS0 meinte.

von Dane (Gast)


Lesenswert?

Sowas habe ich mir schon gedacht :)

Danke für die Antwort :)

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.