LabVIEW干货
直播中

dlutccj

12年用户 481经验值
擅长:可编程逻辑 测量仪表 嵌入式技术 控制/MCU
私信 关注
[Labview经验]

【数据采集分享】LabVIEW串口通信中的数据提取

       首先说一句,此贴主要针对DIY下位机,并使用串口传输数据的应用,当然,使用其他通信方式的也可以参考。
       在DIY各种小玩意儿的时候,通常情况下会考虑将数据传输进电脑进行处理(eg:智能小车采集到的跑道信息、各种分布式传感器的状态信息等)。但是MCU的串口传输的数据通常情况下都是十六进制字符串格式,上位机接收到之后需要将各种信息分离提取之后才能根据数据进行相应的操作。在数据比较单一,并且传输速率较慢的时候,可以不考虑串口通信数据错位及丢包的问题,直接将接收到的数据进行处理即可,但是当数据量比较大,并且传输速率较高的时候,串口传输的丢包现象就比较明显导致的结果就是数据错位,无法正确获得想要的信息。

        例如:发送的数据为“A1E5 6E03 80A1 E56E 0780”(这组数据时前几天一网友给的这里借用一下^_^),可能出现下图所示的情况。


这时后续提取数据时就会出现由于数据位不对而产生的各种问题。一种简单有效的方法是给要传输的数据加上校验用的头和尾,如“AABB A1E5 6E03 80A1 E56E 0780 CCDD”,其中AABB  CCDD就是主动加进去的头和尾,其本身并不包含任何意义,只是用来提取数据位,上位机接收到之后,直接匹配AABB和CCDD,二者之间的数据就是有效数据,另外为了防止出现数据丢包,可以强制校验二者之间的间隔,当二者之间的数据长度与设定传输的数据长度一致时才认为数据有效。

       下图所示,这里现将字符串转换成了字节数组,图中AA对应170,BB对应187,CC对应204,DD对应221,按照上面的方法,匹配数组中的170、187、204、221之后,校验187及204之间的数组长度确定为10才认为数据有效,并进而将对应数组元素做相应处理。


附件: 您需要登录才可以下载或查看附件。没有帐号?注册

回帖(32)

zhou2sheng

2014-12-3 09:40:39
支持原创,感谢分享
举报

雨朦碧湖冷月

2014-12-3 11:03:32
希望有用,谢谢分享!!!
举报

dlutccj

2014-12-3 15:44:09
引用: 雨朦碧湖冷月 发表于 2014-12-3 11:03
希望有用,谢谢分享!!!

这主要是对新手写的,好多人在使用串口的时候并不注意,有时候出了错还不知道哪里错了^_^
举报

ymj120572092

2015-4-14 18:53:32
留个名,以后来看,感谢楼主的努力!
举报

小九,我是小七

2015-4-14 21:29:59
真是个好办法,过几天就会用到。多谢楼主,
举报

tronca

2015-4-15 13:26:00
很好的经验,学习了。谢谢楼主分享。
举报

tronca

2015-4-23 05:34:49
谢谢楼主分享。。。。。。。。。
举报

z6xiao

2015-4-23 13:44:46
学习一下                        
举报

why811

2015-4-24 08:52:04
很好的经验,学习一下,谢谢分享
举报

程亚楠

2015-4-24 10:50:57
谢谢楼主分享啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
举报

程亚楠

2015-4-24 10:51:29
{:4_96:}{:4_96:}{:4_96:}{:4_96:}{:4_96:}{:4_96:}{:4_96:}{:4_96:}{:4_96:}{:4_96:}{:4_96:}{:4_96:}{:4_96:}{:4_96:}{:4_96:}{:4_96:}{:4_96:}
举报

bruck

2015-5-5 21:19:56
谢谢提供.学习!!!
举报

星星淋雨

2015-5-7 22:50:07
希望楼主能进一步讲解,处理好接收数据,怎么根据接收数据发送数据
举报

zhtok

2015-5-26 16:05:02
希望楼主能进一步讲解,处理好接收数据,怎么根据接收数据发送数据
举报

橙子少年

2015-9-22 07:37:08
在数据的前后位加入检验码,值得借鉴
举报

jdliuhuihong

2017-2-8 14:15:47
希望有用
举报

yuzhoushenchu

2017-2-11 22:28:33
谢谢分享!!!
举报

ljl5130

2017-2-14 14:25:44
免费共享了嘛,大家交流学习下啊
举报

zhao1yu

2017-5-26 10:50:39
谢谢楼主分享啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
举报

更多回帖

发帖
×
20
完善资料,
赚取积分