为何队列传输数据发生丢失数据的想象呢
我串口采用的是队列的传输方式,发送方是7.5ms发一包7个数据,lv的串口接收的这边采用队列传输的方式先解包后再经过一定的数据处理保存并且显示,但是我记录了实时的记录时间后发现记录的数据竟然是100多ms才记录一次,有时候是50多ms记录一次,所以我以为是数据处理方面太占用时间了,我把那些都删除之后直接记录结果还是一样子的,最后实验发现如果队列形式的话,100ms左右发一次数据,记录的时间和数据才基本上是正确的,要是采样率再高些,记录的就很多都丢失了,请问下,如何解决这个问题呢?附件是我的vi,希望兄弟姐妹们帮帮忙啊,谢谢啦 bytes at port后面连接不等于0,再到CASE。然后直接将bytes at port结果连接到读。试试。 个人感觉第二个循环里面字符串一直累加会很占资源。 谢谢元老啦,还是不行啊,我试过了,另外您是说那个第二个循环的最上面的那个相当于buffer的累加吗,我去掉也试过了,还是不对啊,如果采样率高于100ms的话数据丢失现象还是很严重啊,郁闷,也不知道是哪里不合适啊
2# baby 串口初始化后,加个BUFFER。 VISA Set I/O Buffer Size设长些。 VISA Set I/O Buffer Size设长些。
baby 发表于 2009-3-10 10:08 http://www.cpubbs.com/bbs/images/common/back.gif
泪奔啊,我都设置成4096了,还是不对。。。难道要放弃队列不成,唉。。。。
页:
[1]