微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > 虚拟仪器 > 关于串口数据采集的奇怪现象,请高手指教

关于串口数据采集的奇怪现象,请高手指教

时间:12-13 整理:3721RD 点击:
初学Labview,编了一个串口读取压力/温度数据的小程序
串口外接的压力计的工作机制是:给它发一个读压力命令,它会在80-100ns的延迟后返回一个压力数据;同样,若给它发一个读温度命令,它会在80-100ns的延迟后返回一个温度数据
Labview想实现 顺序间隔地读取压力和温度数据,并保存
在调试的过程中发现一个奇怪的现象:
当在“串口写入”的断点暂停后,如果单步执行,Bytes at Port 的输出值为非零,进入条件结构的“真”分支,从而顺利的运行到“串口读取”的节点,采集到压力数据;但是如果直接点击“继续运行”,想要从“串口写入”读压力命令直接运行到“串口读取”,却会出现:Bytes at Port 的输出值为零,进入条件结构的“假”分支;
同样的现象也会出现在采集温度数据的过程中;
而且,相同的问题只会出现在第一次  想要从“串口写入”命令直接运行到“串口读取”  的过程中,也就是说,开始如果一直单步运行,都可以按照 压力 温度 压力 温度 。。。的顺序采集数据,一旦在某一次 “串口写入”命令后,停止单步运行,而是直接 “继续运行”,那么这次就会采数失败,而在下一次发送命令后,才能返回上一次的数据 ,即会出现 压力 温度 没有数据  压力 温度 压力 。。。或者 压力 温度 压力 没有数据 温度 压力 温度 。。。
描述较复杂,希望各位大虾明白了我的苦恼,烦请指点,感谢感谢!

 DepthReading.vi

你试试,将时间延时调的大一些试试看
比如你试试2秒一个看看是否可行。

你这个就根本不需要bytes at port啊,初始化的时候,Enable Termination Char设成False,发完读取请求,直接用read就行了,长度是返回数据的字节数,整个操作的超时是10秒,完全足够了

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

网站地图

Top