labview串口接收数据

2019-07-17 08:29发布

在串口一直发送数据给labview的情况下,怎么保证任意时刻打开串口时读到的是一个完整的数据呢,而不会收到一部分数据
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
老蜗牛
1楼-- · 2019-07-17 09:42
无法保证。只能通过先判断帧头,再读取完整一帧数据。
wyq95361977
2楼-- · 2019-07-17 14:57
必须定义一个或找到一个现成的协议,包含下面功能
为每一帧数据定义完整的协议,且能保证在多帧在同一包的情况下也能分开解析
每一次读数据按照协议解析
你发送很长时间才读数据,buff会保存很多帧数据
zhouyezuishuai
3楼-- · 2019-07-17 20:55
加停止位和结束符
candyt
4楼-- · 2019-07-18 02:53
 精彩回答 2  元偷偷看……
candyt
5楼-- · 2019-07-18 07:58
zhouyezuishuai 发表于 2018-3-13 09:25
加停止位和结束符

这个停止位和结束符是加在数据中,还是哪啊?
zhouyezuishuai
6楼-- · 2019-07-18 08:34
candyt 发表于 2018-3-14 21:44
这个停止位和结束符是加在数据中,还是哪啊?

如果你串口配置中启用了停止位,就需要加  结束符就是串口通讯中配置的表示该帧数据结束的字符,当一方收到这个就表示已经接收了完整的一次数据该对其进行响应了   一般来说串口通讯读取的一方最好是在while循环中读取,当读取到的数据满足条件(一般是帧头数据正确并且字符串长度匹配)的时候才停止while循环并把读取的完整的数据输出再进行处理

一周热门 更多>