AVR-AD-Wandler

Gast #1341944
Lesenswert?

Hallo Forum,

ich habe mal eine Frage, ob ihr auch solche Probleme kennt.
Ich benutze den internen ADC des Controllers und es funktioniert auch 
alles. Ich hab auch schon oft damit gearbeitet. Aber in letzter Zeit 
stelle ich ein komischen Phenomän fest(...egal welcher Controller).
Es geht um das MUX-Register und die Umschaltung zwischen den ADC's.
Wenn ich jedes mal bei der Umschaltung das komplette MUX-Register 
beschreibe, gibt es keine Probleme. Wenn ich allerdings nur die 
einzelnen MUX-Bits manipuliere hat der ADC manchmal Probelme beim 
Umschalten und anschließenden Messen.

Wie schaltet ihr um ?
Kennt ihr diese Probleme auch ?

Danke schon mal.
Gast #1342084
Lesenswert?

Hier mal zwei Beispiele für Setzen und Rücksetzen.
Ich bin für jede Verbesserung dankbar!
1
//Setzen   
2
ADMUX |= (1<<MUX0);
3
//Rücksetzen  
4
ADMUX &= ~(1<<MUX1) | (1<<MUX2) | (1<<MUX3) | (1<<MUX4);

Danke
#1342089
Lesenswert?

ich klinke mich mal kurz ein.

Wenn man in Bascom den Singlemode benutzt und die einzelnen AD-Känäle 
mit "Getadc()" abfrage, belässt er im Falle wenn man mehrmals den selben 
ADC Kanal abfragt das admux so? Ich denke schon, denn ich muss in meinem 
Programm 2mal den selben Kanal hintereinander mit dem "Getadc" Befehl 
abfragen, denn sonst gibs ab und zu auch krasse Messwertverfälschungen. 
Da wird die erste "Müllwandlung" im singlemode warscheinlich nicht 
ausreichen....
Gast #1342110
Lesenswert?

>> Sind die Klammern unbedingt notwendig?
Es kommt darauf an, was rauskommen soll. Ohne Klammern gilt die Tilde 
nur für den ersten Ausdruck, nicht für die verODERten. Wie wäre auch 
sonst die Schreibweise, wenn man mal wirklich nur den ersten Ausdruck 
verändern wollte ?

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