XMEGA ADC schaltet nicht auf anderen Pin um

Gast #3818176
Lesenswert?
• ▲
▼
Hallo Leute,

ich möchte 8 Pins mit einem xmega32a4u digitalisieren. Hierzu habe ich 
eine funktion "get_adc_sample". Diese konfiguriert 4 Channels. Jeder 
Channel digitalisiert einen anderen Pin. Nachdem die 4 Pins 
digitalisiert wurden schalte ich auf die anderen 4 Pins um. Jedoch ist 
es so das die Ergebnisse die an den PC übertragen werden genauso ausehen 
wie die ersten 4 Channels nur ein wenig rauschen drauf. Demnach wird 
nicht auf die anderen Channels umgeschaltet. Ich habe es auch schon mit 
dem FLUSH um die Pipeline zu löschen hat aber auch nicht den Fehler 
behoben.

Anschließend habe ich eine 2. Funktion (get_adc_new_sample) geschrieben. 
Hier verwende ich nur 1 Channel und schalte mit einer For-Schleife alle 
Pins durch. Diese Funktion scheint auch sauber zu funktionieren, jedoch 
wird die Digitalisierungsrate von 2MHz auf 266kHz reduziert da immer die 
Durchlaufzeit von 7,5 Takte abgewartet werden muss.

Was mache ich denn bei der 1. Funktion falsch?
Angehängte Dateien:

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.