从串口实时读取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条回答
老蜗牛
2019-07-18 14:33
shangxinol 发表于 2018-1-25 11:23
你好,感谢你的回复。
初涉Labview,想请问一下 Labview有这种读数据的Demo吗?或者相似的例子?
我的下位机也就是加速度模块是一通电就不断发送数据的。。。

首先,labview自带的范例中没有你说的demo;其次,你的串口速率很快,一个字节大概只需要48微秒,非实时操作系统下的labview是无法做到循环一次(耗时2-3ms)收集一个字节而不丢失数据的;最后,你可以采用嵌套的生产者-消费者模式,不过这对于目前的你来说,是个mission impossible。

一周热门 更多>