' schrieb:Ja, mach das. Es scheint mir dem buffered DAQ-MX Read ähnlich zu funktionieren.
Dort ist mir das nie aufgefallen und DAQmx-Read wartet auch wirklich, bis x Werte im RAM sind und gibt diese dann zurück.
Wenn ich z.B. mit 50 Hz Werte einlese und immer 100er-Blöcke aus dem RAM hole, dann dauert ein Schleifendurchlauf ca. 2 Sekunden. Und ich meine, die CPU-Auslastung ist dort gering.
Ich bin mir nicht sicher, ob man bei DAQmx-Read überhaupt eine zusätzliche Verzögerung braucht. Bisher habe ich immer eine eingefügt, aber mehr aus Gewohnheit, ohne es genauer zu testen.
Wenn ich dazu komme, werde ich auch das mal näher untersuchen.
Nachtrag: Danke rbliomera. Das Verhalten finde ich nicht gerade optimal, sondern eher richtig schlecht. Dann muss ich wohl pro Schleifendurchlauf erst den FIFO-Status auslesen und wenn < 50 Werte im FIFO sind, die Verzögerung per Case ausführen lassen ...