请教用生产者/消费者架构进行模拟输出时候的问题

2019-07-17 17:29发布

初学乍练,还望大家多多指教。
我想模拟输出连续播放一个读取自文件的数据,因为数据比较大,所以采用了生产者/消费者模式。生产者循环读取数据放入队列,消费者循环出队列的数据一方面画出来,另一方面模拟输出。画出来的结果看起来挺正常,模拟输出的结果重新用模拟输入采集后发现丢失了很多段数据点,用示波器看也是如此。我试着调了模拟输出缓存大小,比生产者循环每次放入队列的数据量小或大几倍都没什么效果。希望能有专家帮我指出问题所在,多谢啦!
数据丢失截屏 数据丢失截屏
simultaneous AI AO producer consumer.vi 下载积分: 积分 -1 分
76.59 KB, 下载次数: 60, 下载积分: 积分 -1 分 我的vi
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
citeseer
2019-07-18 03:40
我试了更简单的情况,Configure -> Timing -> Write ->Start -> Is Done? -> Stop -> Clear, Is Done?在while loop中, 这样输出正弦波是可以的。但是我之所以使用生产者/消费者模式,是因为数据太大,不能一次写进buffer,所以想要把write或者出队列包括到while里面,但是这样简单的情况,如果把Write -> Start -> Is Done? 都包进去就会输出错误结果,Stop也包进去则会报错。

一周热门 更多>