从串口实时读取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条回答
Sylvain
2019-07-18 13:57
shangxinol 发表于 2018-1-25 11:22
谢谢你的回复。我试了一下这种方法,但是有个问题。我的加速度模块是不断的往串口送数据的,我并不能确定我读取的时候,开头就刚好是5551,这种问题怎么解决呢?
不能保证刚好是5551  我就不能每次读11个了。。。

这样的话,添加一个程序判断结构,首先判断5551,不是的话放弃这组数据,不过这样做的话,数据有丢失。所以最好的方法就是控制读取数据的个数。

一周热门 更多>