行业分类
当使用LabVIEW从串口读取数据的时候,会连续不断地查询串口直到串口接收到数据为止,这增加了处理器和资源的占用,导致程序中的其他循环不能流畅地运行,应该如何防止LabVIEW连续不断地查询串口?
日期:2014-01-19 15:53  点击:1280
状态:已解决
提问:admin
最佳答案
  

这个问题可以通过使用VISA事件编程来解决。通过使用 VISA Enable Event 这个VI,当串口接收到字符串的时候,VISA会产生一个事件。在while循环中,我们可以在VISA Read函数前面放置一个VISA Wait on Event 函数。 这样,只有当串口接收到一个字符的时候VISA Read 函数才会得到执行。直到数据到达串口的时候,调用VISA Wait on Event 函数的现成会一直被阻塞着。因此,VISA Read 函数只有在端口上有数据的时候才会被执行。通过指定待读取的字节数为1,我们可以确保只有在数据可用的时候才查询串口。注意在程序停止前需要执行一个Disable VISA Events 函数。



回答:pansino
2014-01-11 12:40

[全部回答(1)]


关于网站  |  普通版  |  触屏版  |  网页版
05/12 08:25
首页 刷新 顶部