Hallo , Ich spiele gerade ein wenig mit dem XMega 128A1. Prinzipell sollte es möglich sein den DAC Ausgang mit dem ADC zu messen. Die AppNotes 1300 und 1301 habe ich gelesen. Das Forum habe ich auch durchsucht. Google hilt nicht weiter. Ich kann die Temperatur messen, VCC und Bandgap klappt auch wunderbar nur der DAC scheint etwas widerwillig. Die Initialisierung: ADCA.CTRLA = ADC_FLUSH_bm; ADCA.REFCTRL = ADC_REFSEL_INT1V_gc|ADC_TEMPREF_bm|ADC_BANDGAP_bm; ADCA.PRESCALER = ADC_PRESCALER_DIV512_gc; ADCA.CTRLB = ADC_RESOLUTION_12BIT_gc; ADCA.CH0.CTRL = ADC_CH_INPUTMODE_INTERNAL_gc; ADCA.CH0.MUXCTRL = ADC_CH_MUXINT_DAC_gc; ADCA.CTRLA = ADC_ENABLE_bm; _delay_us(100); Messen: ADCA.CH0.INTFLAGS = ADC_CH_CHIF_bm; ADCA.CH0.CTRL |= ADC_CH_START_bm; while (ADCA.CH0.INTFLAGS == 0); Wert = ADCA.CH0.RES -200; Egal was ich auf welchem DAC auch immer ausgebe der Wert liegt etwa bei 1700. Der DAC Ausgang Single oder Dual ist korrekt und mit Scope kontrolliert. Hat irgendwer eine Idee ? in dankbarer Erwartung Stefan
Hallo Stefan, hast Du denn "DAC Internal Output Enable" gesetzt? in etwa so: DAC.CTRLA |= DAC_IDOEN_bm; MfG, Balze aka AVR Noob
Hallo Balze, Nö , habe ich natürlich nicht. Soviel zum Thema Datenblätter habe ich gelesen. Ich kann's erst die nächsten Tage testen, aber ich denke das ist es. vielen Dank Stefan
Falls du gerade versuchst den DAC zu kalibrieren, kannst du den fertigen Code veröffentlichen? :-P
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.