Hey,
nein die Calibrationsregister sind immer leer. Du musst sie während des Programmdurchlaufs mit den Werten aus den werksseitig beschriebenen Registern beschreiben.
Aber selbst bei 10kHz ist ein 2ms Delay viel zu lang....10kHz heißt ja das die ISR 10000x pro Sekunde aufgerufen wird....also 10x pro Milisekunde. Und dann wartest du in der ISR 2ms? In der Zeit sind schon wieder 20 Interrupts geschehen (oder sehe ich das falsch
)?
Ich schau heute Nachmittag mal in meinem C-Programm....evtl. habe ich nur was vergessen mit rein zu schreiben. Weil bei mir meckert der Compiler nicht.
Edit:
Füge mal den Include mit ein:
Und fürs Kalibrieren kannst du dir mal in meinem Bastelprogramm:Code:#include <stdlib.h>
https://www.dropbox.com/s/8d18pojnfu27b7g/XMega.c
Die Funktion "LeseKalibrationsregister" und "DACB_Cal" anschauen.
Lesezeichen