DAQ卡 USB6008 讀取電壓錯誤

請教一下各位大大,我的程式如下圖,我有時候跑是正常的,可是有時候跑卻會遇到Error(如下圖),我不太知道為什麼會有這個Error(迴圈裡面的Error),因為前面設定都正常,到了迴圈裡面有時可以有時又不行= =,我試著調過Timeout,不過好像沒用,所以想請各位大大為小弟解惑一下,謝謝各位大大。

 

 

PS:如果把Sample Clock拿掉就不會有錯誤了,所以我不知道我那邊有什麼設定錯誤= =,是Rate還是Samples per channel....,請各位大大幫忙一下,謝

![](upload://dYuqpVztcag2YQ9DvUuRapvdntY.jpeg)

![](upload://9ZFqFsObOJl22SHOLldWceFTTxv.jpeg)

 

![](upload://kxxa3s170kxQyNwJLhHhmj40NOU.jpeg)

rock111340692.7665740741

我的USB-6009配上Core2 T8100, 前面的Sample size 要調成loop裡面的1/2, CPU更慢或loading更重的系統, 比例還要更大(1:4), 請參閱附圖.


DAQ AI連續擷取流程裡, 這前後的sample size差便是data buffer, 提高buffer size只是治標, 對偶然發生CPU處裡不及的狀況有效; 對data產生 vs data消化速率不平衡的狀態只是延後爆掉的時間罷了, 治本的方式提高處裡資料的效率 (換CPU or 換演算法 or …), 要不就得把sample rate (資料產生速度) 降低到與資料消化速度平衡的狀態.