从串口实时读取16进制数据,并提取有效信息。我的程序感觉有问题,求大佬指教~~

2019-07-17 11:11发布

首先,说明我的目的。我的一个加速度采集模块通过USB连接电脑,实时输出16进制数据。数据格式如下: 前两位55/51是起始位,固定不变。最后三位没用,只需要中间的6个。
我用串口调试助手读取数据,如下: 示意图2.png
确认数据输出没有错。
所以请教一下各位大佬,这样的情况如何准确采集我所需要的信息呢?我所需要的信息是55 51后面的6个数据。
刚开始学习labview,所以自己也尝试鼓捣了几天,但没成功,采集的数据容易乱。附图上来,望大佬指教。
示意图3.png
这个是在Labview自带Demo的基础上改的,每次读取11位数据,写入数组。提取中间需要的6个重新组合,最后换算成十进制。出现的问题是,每次读取的11位数据,有时候就不是55 51开头的,读的数据乱了!
谢谢各位大佬~~多多指教~
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
zengzhaonan
1楼-- · 2019-07-17 15:43
用搜索拆分字符串,搜索到55、51后,再把后面的6个数字截取出来处理
图片1.png
老蜗牛
2楼-- · 2019-07-17 20:28
你需要先找到帧头,提醒一下,此协议的校验和是需要计算帧头的。
xie330821
3楼-- · 2019-07-18 00:51
给你写了一个 你看看是不是你要的

获取后六位数据.rar 下载积分: 积分 -1 分

14.51 KB, 下载次数: 23, 下载积分: 积分 -1 分

shangxinol
4楼-- · 2019-07-18 06:08
 精彩回答 2  元偷偷看……
shangxinol
5楼-- · 2019-07-18 07:54
老蜗牛 发表于 2018-1-24 20:21
你需要先找到帧头,提醒一下,此协议的校验和是需要计算帧头的。

你好,感谢你的回复。
初涉Labview,想请问一下 Labview有这种读数据的Demo吗?或者相似的例子?
我的下位机也就是加速度模块是一通电就不断发送数据的。。。
shangxinol
6楼-- · 2019-07-18 08:31
xie330821 发表于 2018-1-24 21:49
给你写了一个 你看看是不是你要的

你好。谢谢你的回复。我这个加速度是16进制传输的,貌似你这个一开始的输入就是ASCLL码的吧。。

一周热门 更多>