LabVIEW串口接收数据并且拆分,提取有效数据的问题

2019-07-17 12:05发布

本帖最后由 qwgele 于 2014-10-21 20:26 编辑

file:///C:UsersasusAppDataRoamingTencentUsers422310901QQWinTempRichOle6}5_PK2_DH)5K_AJNFQ59JX.png下位机传入的数据一帧33个字节,都是以十六进制发送的,50ms发送一次
数据有包头0x55,还有一个起始位0x51之后是我需要的数据,我想匹配之后可以拆分出我需要的数据,结果死活弄不出来,已经弄了快大半天了,求助!
QQ截图20141021195137.jpg
QQ图片20141021195856.png
上图显示匹配根本没起作用,而且我接受数据也有问题,不是按帧接受的,是混在一起的,和定时器有关系吗?也求解答啊!真的谢谢回答啦!

QQ截图20141021195137.jpg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
八桂魁汉子
1楼-- · 2019-07-19 08:27
nickle-fyl 发表于 2016-12-1 10:15
您好,请问你的问题解决了吗。我也出现与你一样的问题了,是怎么解决的。

没有解决,直接忽略了这个问题,加入了错误帧判断的逻辑,有冲突的数据帧当成错误帧舍去,这样虽然数据会有丢失,但是总体不影响我的软件使用。目前也还不知道怎么彻底解决这个问题。
八桂魁汉子
2楼-- · 2019-07-19 11:29
hejin515 发表于 2016-12-1 10:19
既然有协议,应该读取固定字节的数据然后提取分析。新建了一个LabVIEW学习交流群(557572818),欢迎加入交流学习。

固定读取的字节数,当串口接收不到数据时就会进入超时等待,造成软件卡死的假象。而且当数据帧比较长的时候,固定接收字节数,也一样是有冲突的。根本原因是visa设备的读取频率和单片机的数据发送频率不同步
hejin515
3楼-- · 2019-07-19 13:20
 精彩回答 2  元偷偷看……
jenssen_zx
4楼-- · 2019-07-19 13:24
看来满有用,好好研究一下,
八桂魁汉子
5楼-- · 2019-07-19 18:29
hejin515 发表于 2016-12-2 16:20
怎么会有卡死的现象,难道下位机几秒甚至更长时间才发送一次数据吗?数据采集都需要解决这些问题,很基本没成熟了,不知道你说的是什么情况。

因为上位机是被动等待,while循环查询串口,visa设备的超时时间比较长,单片机不是总是在发数据的,按键退出while循环的时候,就会有卡顿出现,会影响使用体验。
nickle-fyl
6楼-- · 2019-07-19 18:32
hejin515 发表于 2016-12-1 10:19
既然有协议,应该读取固定字节的数据然后提取分析。新建了一个LabVIEW学习交流群(557572818),欢迎加入交流学习。

第一天就加入了这个群,当天本来打算进来感谢您的,但是找不到贴了(我可能有点傻啊)。今天又看见了表示谢谢哦

一周热门 更多>