新闻中心

EEPW首页 > 测试测量 > 设计应用 > labview实现串口通信(三)

labview实现串口通信(三)

作者:时间:2017-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就可以了,因为遇到这个终止符,它就会停止读数,所以读回来的就会少了!


关键词: labview串口通

评论


技术专区

关闭