atXmega 128 A3 - DAC

OP #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

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.