Hallo Erik,
Mit Interrupts wird das so nichts werden!
Es dauert jedesmal etwas Zeit, biss der laufende Prozess unterbrochen, gesichert und die Interrupt-Routine aufgerufen ist.
Die Verzögerungszeit hängt dabei schon mal vom gerade laufenden Befehl ab, von gesperrten IRQs reden wir mal gar nicht!
Das Problem liegt nicht bei den Timern, sondern in der Software, welche nur endlich schnell ist.
Die einzige Möglichkeit sehe ich darin, dass du das über die DMA machst.
Du baust dir z.B. die Sinustabelle auf.
Dann überträgst du diese Tabelle per DMA zum DAC
Die DMA triggerst du mit dem einen Timer.
Umgekehrt geht's beim ADC.
Hier konfigurierst du alles so, dass die DMA die Messwerte in einer Tabelle, evtl. Ringbuffer. ablegt.
Hier musst du aber sicherstellen, dass die CPU die Daten auch schnell genug verarbeiten kann.
Die DMA "stielt" dir dann nur die paar Takte, welche für das Lesen und Schreiben auf dem Bus nötig sind.
MfG Peter(TOO)
Lesezeichen