mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR-AD-Wandler


Autor: ADC-USER (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könnten Interrups dazwischen funzen...?

Autor: ADC-USER (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein hab ich auch schon vermutet, ich hab aber keine freigegeben!

Autor: ADC-USER (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keiner ne Ahnung???

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zeig mal den Code, wie du die Bits manipulierst, ich vermute mal, dass 
du da nen fehler machst.

Autor: ADC-USER (Gast)
Datum:

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

Danke

Autor: Axel Krüger (axel)
Datum:

Bewertung
0 lesenswert
nicht 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....

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ADMUX &= ~(1<<MUX1) | (1<<MUX2) | (1<<MUX3) | (1<<MUX4);

ADMUX &= ~((1<<MUX1) | (1<<MUX2) | (1<<MUX3) | (1<<MUX4));

Autor: ... ... (docean) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Setzen löscht aber keine anderen Bits!

Also löscht du alle MUX Bits bevor du welche setzt?

Autor: ADC-USER (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiß, ich muss immer alle setzen bzw. rücksetzen, die ich brauch.

@holger: Sind die Klammern unbedingt notwendig?

Autor: Lutz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das nicht, aber das Register hat ganz andere Werte als vermutet.

Autor: ADC-USER (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was meinst du damit?

Autor: Lutz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: ADC-USER (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast recht!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.