labview串口通信

计算机通过串口RS232与一块测试板相连,现在通过lavbiew的串口写vi向串口发送一个命令后,测试板会返回数据。但是我不知道应该使用什么机制去读取缓冲区比较合理,如果... 计算机通过串口RS232与一块测试板相连,现在通过lavbiew的串口写vi向串口发送一个命令后,测试板会返回数据。但是我不知道应该使用什么机制去读取缓冲区比较合理,如果在发送命令后直接读取,显然是来不及的,读取不到任何信息,中间加入延时0.5秒以上一般可以收到完整数据,但是这个时间在实际应用过程中并不确定。
这个问题应该具有普片性,一般来说如何确认对方已经传送完毕所有返回信息然后读取缓冲区数据?不想通过延时固定时间来接收,那样比较浪费而且不可靠
展开
 我来答
玟你个玟
2013-11-02 · TA获得超过3838个赞
知道小有建树答主
回答量:231
采纳率:0%
帮助的人:181万
展开全部

这个不是什么大问题。我给你看个例子。

 

图中就是用了一个线程的连续读取缓冲区的循环,用了读取缓冲区的数据长度就可以知道有没有接收到字符,没有接收到返回是0,串口读取0个数据,也就是不读,但缓冲区有数据了,就把这些数据全部读过来了。

另外还有移位寄存器连接字符串的用法,主要是方便labview前面板观察从一开始读到的所有数据(没有数据,就是连接空字符串)。

更多追问追答
追问
应该什么时候退出循环呢。上下两个条件结构不是很明白。不确定返回值长度
追答
什么时候退出循环,由你自己觉得,读数据长度就是那个 bytes at port 函数
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式