atXmega 128 A3 - DAC

#3133786
Lesenswert?

Liebe µC Freunde,

ich stehe wieder mal vor einem Problem und brauche eure Hilfe.
Folgende Situation:


Ich habe ein AtXmega 128A3 und nutze AVR Studio (Version 4.19)
Für verschiedene Bastelein habe ich den Xmega schon verwendet.
Nun möchte ich den DAC verwenden und ausprobieren und bin auf folgendes 
Problem gestoßen, der DAC Ausgang will nicht senden!
1
// Programm für DAC TEST
2

3
#include <avr/io.h>   
4
#include <math.h>
5
#include <Seriell.h>
6
#include <util/delay.h> 
7
#include <dac_adc.h>
8

9

10
void clock_init(void);
11

12
void dac_init(void);
13

14

15
int main(void){
16

17

18
  int i,b=0;
19
  int sample = 4095;
20
  int sample_end = 0;
21
  char wert1[10];
22

23

24
  init_RS232 (F0, 115200); // Schnittstelle konfigurieren RS232    
25
  clock_init();
26
  dac_init();
27
   // sende daten
28
  while (1){
29
   for (i = 0; i < sample ; i++) {
30

31
     DACB.CH0DATA = i;
32
    b=DACB.CH0DATA;
33

34

35
    sprintf(wert1,"\rb: %d\t\n",b);
36
    serial_puts(wert1,F0);
37

38
   
39
     //warte bis sendung fertig
40
    while (!DACB.STATUS & DAC_CH0DRE_bm) ;
41
   }
42
    i=0;
43
   
44

45

46
  }
47
  return 0;
48
}
49

50

51
void clock_init(void)
52
{
53
  //Oszillator auf 32Mhz stellen
54
  OSC.CTRL |= OSC_RC32MEN_bm;
55
  // Warten bis der Oszillator bereit ist
56
  while(!(OSC.STATUS & OSC_RC32MRDY_bm));
57
  CCP = CCP_IOREG_gc;
58
  CLK.CTRL = (CLK.CTRL & ~CLK_SCLKSEL_gm) | CLK_SCLKSEL_RC32M_gc;
59
}


Zur visuellen Darstelllung lasse ich mir seriell DACB.CH0DATA ausgeben, 
um zu sehen ob der erstellte Sägezahn richtig umgesetzt ist vom Code 
her.
Die Ausgabe habe ich per Screenshot angehängt (i wird bis 4094 
hochgezählt und danach springt i auf 0 zurück > Sägezahn Spannung).

Ich vermute mache einen Fehler bei der Initialisierung des DACs.
Die adc_dac.h Datei habe ich auch mal angehängt.
Ich messe Single Endes an folgenden PINS ohne Erfolg:

PB2
PB3

habe auch schon verzweifelt an Port A gemessen mit meinem Oszi.
(siehe AtXmega Datenblatt Seite 51)

Ich hoffe Ihr kennt die Lösung und helft mir bei meinem Versuched den 
DAC zu testen.
Angehängte Dateien:
Gast #3136209
Lesenswert?

Wie wär's mit der klassischen Vorgehensweise bei Atmel vorbeizuschauen, 
unter dem Prozesortyp die Documents zu wählen und dort nach "AVR1301: 
Using the XMEGA DAC" zu schauen ? Da gibt's ein Pdf und Beispieldateien 
dazu. Ein- und Ausatmen nicht vergessen :D

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