微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > labview实现串口通信(三)

labview实现串口通信(三)

时间:01-06 来源:互联网 点击:
在调试的过程中,我们经常会发现有收到的数据延迟的现象,现在提出几点解决的方法:

(1)在循环中加入适量的延时,通过一个简单的例子看,

你会发现在cpu的占用率在加延时和不加的时候有很大的区别,当加的时候基本不占,而不加延时的时候达到100%。我在调试串口通信时候,发现while loop里加一个延时会有很好的效果(假如有一个或某几个线程占用了 100% 的 CPU,此时系统对其他线程就会反应迟钝。例如,程序的执行线程占用了100% 的 CPU,那么用户对界面的操作就会迟迟得不到响应,甚至于用户会误认为程序死锁了。所以在程序中要尽量避免出现 100% 占用 CPU 的情况。 目前大多数的计算机还是单核单个 CPU 的,因此要避免任何一个线程试图 100% 占用 CPU 的情况).

(2)visa read 的字节总数最好用一个属性节点来代替

因为我们不知道数据缓冲区有多少个字节,这样就不需要去设定了

(3)经常看到会有人说串口里面有一堆数据,但是去读的时候却读回来一点点,每次均不相同,这种怀状况是由于串口有一个serial configuration这个节点上面,有一个termination char,大家将它设为F就可以了,因为遇到这个终止符,它就会停止读数,所以读回来的就会少了!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top