发 帖  
[问答] labview串口接收数据
2018-3-12 21:07:26  1274 串口 接收数据 labview
收藏 0 收藏 推荐 0 推荐
分享
在串口一直发送数据给labview的情况下,怎么保证任意时刻打开串口时读到的是一个完整的数据呢,而不会收到一部分数据
2018-3-12 21:07:26   评论 邀请回答
7个回答
无法保证。只能通过先判断帧头,再读取完整一帧数据。
2018-3-13 09:14:06 评论

举报

必须定义一个或找到一个现成的协议,包含下面功能
为每一帧数据定义完整的协议,且能保证在多帧在同一包的情况下也能分开解析
每一次读数据按照协议解析
你发送很长时间才读数据,buff会保存很多帧数据
2018-3-13 09:24:39 评论

举报

2018-3-13 09:25:53 评论

举报

老蜗牛 发表于 2018-3-13 09:14
无法保证。只能通过先判断帧头,再读取完整一帧数据。

我加了帧头后,帧头就一起算在那个数据里面了,我不知道怎么分出来
2018-3-14 21:43:29 评论

举报


这个停止位和结束符是加在数据中,还是哪啊?
2018-3-14 21:44:56 评论

举报

candyt 发表于 2018-3-14 21:44
这个停止位和结束符是加在数据中,还是哪啊?

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

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

提问题
关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表