Xmega ADC und DAC

Gast #3440977
Lesenswert?
• ▲
▼
Hallo zusammen.

In der µP-Programmierung bin ich ein absoluter Frischling. Ich habe 
bisher nur mit Delphi und C# gearbeitet.
Nun hat mich mein Chef beauftragt diesen Xmega32A4U zu programmieren und 
ich bin echt ratlos, da es hierzu sehr wenige Tutorials gibt.
Folgende Aufgabe habe ich zu bewältigen:
  - Analogsignal einlesen (Dazu hab ich schon was gefunden)
  - Filtern und aufarbeiten (das bekäme ich auch noch hin)
  - Analogsignal wieder ausgeben
Das Eingangssignal (0-2V) bekomme ich schon mit 12 Bit rein.
Wie muss ich jedoch den Ausgang initialisieren, in welchem Größenbereich 
muss mein Zahlenwert liegen um welche Spannung raus zu bekommen und 
guterletzt wie setze ich den Ausgang dann?

Vielen Dank im Voraus
Jens
Gast #3441020
Lesenswert?
• ▲
▼
Port A Pin 0 nutze ich zum Einlesen der Spannung.
1
// ADC initialisieren
2
PORTA_PIN0CTRL |= PORT_ISC_INPUT_DISABLE_gc;
3

4
ADCA_CTRLA = ADC_ENABLE_bm;
5

6
ADCA_REFCTRL |= ADC_REFSEL_VCC_gc;
7
ADCA_CTRLB = ADC_RESOLUTION_12BIT_gc;
8
ADCA_PRESCALER = ADC_PRESCALER_DIV128_gc;
9

10
// Configuring channel 0
11
ADCA_CH0_CTRL |= ADC_CH_INPUTMODE_SINGLEENDED_gc;
12
ADCA_CH0_MUXCTRL |= ADC_CH_MUXPOS_PIN0_gc;
13

14
ADCA_CH0_CTRL |= ADC_CH_INPUTMODE_SINGLEENDED_gc;
15
ADCA_CH0_MUXCTRL = ADC_CH_MUXPOS_PIN0_gc;
16

17
ADCA_CTRLA = ADC_ENABLE_bm;
18

19
uint16_t t;
20

21
while(1){
22
    // Analog einlesen
23
    ADCA_INTFLAGS = ADC_CH0IF_bm;
24
    ADCA_CH0_CTRL |= ADC_CH_START_bm;
25
    while(!(ADCA_INTFLAGS & ADC_CH0IF_bm));
26
    t = ADCA_CH0RES;
27
}
Wenn evtl. noch jemand weiß wie man das differential einliest und an 
welchen Pins, wäre ich auch sehr dankbar.

Jens

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.