mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Dauer der AD-Wandlung


Autor: Joerg Miehle (Firma: TU Wien) (pinning)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe beruflich viel mit Micrkontrollern aller Art zu tun, nur der
Atmel ist fuer mich eher Neuland.
Aus diesem Grund habe ich das GCC-Tutorial durchgearbeitet.
Ich habe im Moment ein Problem bei der A/D Wandlung.
Im Tutorial ist ein Beispiel für eine "Single conversion" Funktion
uint16_t ReadChannel (uint8_t mux).
Hier wird der A/D Wandler freigegeben durch das Flag ADEN. Das heisst
doch konkret, dass die nun folgende
erste Wandlung (Ausgelöst durch ADSC) 25 Takte benötigt.
Nun wird am Ende der Funktion das Enable-Flag wieder zurückgesetzt.
Bedeutet dies nicht, das bei einem erneuten Aufruf der Funktion
die Wandlung wieder 25 Takte benötigt?

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau das bedeutet es.

Autor: Lutz Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zumindest beim ATMega8 sind es bei der ersten Wandlung nach setzen von
ADEN 25 Takte. Das Ergebnis dieser ersten "extended conversion" soll
man aber verwerfen, da dabei der ganze Kram initialisiert wird und
quatsch rauskommt. Erst die zweite Messung nach ADEN soll man nutzen.
Diese dauert dann (zumindest wieder beim Mega8) 13 Takte. Schaltest Du
nun am Ende Deiner Funktion ADEN wieder aus, beginnt alles beim
nächsten Setzen von ADEN wieder von vorne.

Gruß
Lutz

Autor: Joerg Miehle (Firma: TU Wien) (pinning)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann werde ich den ADC ausserhalb der Funktion zurücksetzen und
freigeben. Kein Wunder das ich  Mist messe!

Autor: Wolfgang Horn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, Jörg,

Bei einem erneuten Aufruf der Funktion: Ja.
Aber für fortlaufende Wandlungen, mit Interrupt bearbeitet, sinkt die
Zahl auf 13 Zyklen. Quelle: Datenblatt Atmega32, S. 203

Ciao
Wolfgang Horn

Autor: Joerg Miehle (Firma: TU Wien) (pinning)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für eure Hilfe!

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.