经坛友友情提示,又把帖子转到问答板块。再次询问一次,积分不多请见谅:
大家好,
labview初学者编程遇到个棘手的问题,想请教下各位大神小伙伴们。
大致就是:
我需要读取加速度传感器的数据,用串口调试助手可以测得完整的实时数据(一秒钟大概读取112次)。而使用labview的Visa读取,(因为加速度传感器可以写入宏指令,可以实时输出加速度数值,所以在labview中我只需要循环读取就行,不需要循环写入),我一秒钟只能读取少量数据,而且随着运行时间增加,读取速度越来越慢(前一分钟还能保持一秒85左右,持续测试了5分钟,平均每秒掉到只能输出25次了)。且明显看出,数据不同步。
不知道是否用VISA都会出现这个问题吗?我想过Labview程序运行是要时间,但这差别有点太大了,而且运行时间增加速度越来越慢,这实在不能接受。还有0D终止符问题,下面是一部分响应代码,确实有可能存在0D,但这应该不是主要矛盾点吧?大家觉得呢?
下面是部分程序截图,很希望大家能帮我查看下程序,万分感谢
-
你有一个反馈节点,运行时间越长,数据会越来越多,for循环的占用时间就会越来越长,整个while循环就会等待for循环结束才会进行下一次循环,也就是下个数据的读取时间就会越来越长,就会出现丢数据的情况。还有就是循环里面创建数组,数组越来越大,每次都需要分配内存,会占用大量内存。
嗯嗯,你说的很有道理。我刚刚又重新试了下,把终止符关闭,发现问题好了非常多,也能做到数据实时输出了,延时肉眼观察已经基本可以忽略,后续会再进一步佐证。没想到终止符影响会这么大!!
还是很感谢你的解答。阿里可多~~~
一周热门 更多>