Windows是不能实现精确定时的,这个我们大家都是知道的。在这种情况下,我觉得可以用LabVIEW中的Timed Loop循环代替一般的Loop循环,设置period为1ms,虽然这样也不能完全做到精确定时1ms,但比用一般循环里Wait Until next ms multiple定时效果要好。可看附件中的两幅图,分别对应Timed Loop循环和一般的Loop循环得出的效果。另外一个方法就是用LVRT来实现,可用LabVIEW中的Timed Loop中的1MHz时基来精确定时。通过上位机来显示RT对象采集的1ms的数据。
P.S: 我不理解的是为何要这么精确的定时显示图形,如果要知道1ms内采的数据的话,可通过计算来得到:200kS/s,每毫秒就是200个采样点。
我有个疑问为什么要单点做采集,既然要求在1ms,放在缓存中一起读过来
而且如果你要1ms循环一次,其他平行的while循环怎么办?
整个程序就采集不做其他响应了,ms不合情理阿
1ms只是大致的时间间隔,能来得及采集就行了。David Ding 回答的较好,我这儿有一个精确时钟的程序。
我的实验还没有作完,要给大家、公司一个交代,好不容易呀!他妈的!