微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > Labview > labview串口不断接受数据,怎么保证接收数据的完整性

labview串口不断接受数据,怎么保证接收数据的完整性

时间:10-02 整理:3721RD 点击:
下位机几乎每秒发送一组数据,数据字节数不定,怎么设计使得每次接受的数据是完整的一组数据,我现在读取的数据有时候不完整,请教各位大神~~

读取的字节数设置问题吧,要和端口字节数做比较

请问能不能具体一点呀,设置停止符貌似不行啊

labview串口通信大杂烩
http://bbs.elecfans.com/forum.ph ... &fromuid=704899

大神有没有具体的呀,我现在就是不停接受一组数据,刚开始可能是完整的,后来就不完整了- -

关键是我现在接受的数据不确定是接受多少字节的数据,但是末尾是有休止符的

(3)经常看到会有人说串口里面有一堆数据,但是去读的时候却读回来一点点,每次均不相同,这种怀状况是由于串口有一个serial configuration(串行配置)这个节点上面,有一个termination char(终止字符),大家将它设为F就可以了,因为遇到这个终止符,它就会停止读数,所以读回来的就会少了!
本论坛某斑竹说的

这个我试过了,没用。

VISA读取 (函数) 可以设置字节读取数

现在小编有没有解决这问题啊

小编可以尝试每次读取一个字节然后拼接

你好,我是这样处理的。每隔20ms读取一次缓存区数据(全部读出),然后转换为16进制字符串入队列。
然后另一个while循环中出队列合并字符串,查找合并后字符串中是否存在终止符,如果存在则截断并根据校验码判断是否正确,正确则入队列(有效数据队列),终止符以后的字符串通过移位寄存器循环截取。
我用于大批量数据采集,就是这样的,没有数据丢失。除非信号重叠了,但是几率非常小,几天才回一次。但是不影响其他数据的正常收发。
希望可以帮到你。

你好,我是这样处理的。将Ftermination char(终止字符)设为F, 不给读取字符节数设固定值,在VSIA
中选择一个属性节点,选择Number of Bytes at Serial Port, 把这个属性节点连上VISA的字节总数,另外在读取之前设置一个延时,延时的时间取决于要读取字节数多少。

你好,能向你请教一下串口方面的东西吗?我现在做了一个串口数据接受,被动,接收数据不稳定,有时5个数,有时10数,不知道怎么回事,麻烦大神给指点一下可以吗?谢谢

很好的资料,谢谢分享

正遇到这样的问题,谢谢分享

没看明白做个标记,如果可以的话麻烦您把这部分vi共享一下。522533086@qq.com

觉得是个好办法

把读到的数据连在一起  写个判断帧信息的程序  确认一帧取一帧删一帧  

VISA配置串口默认的终止符是0A,默认启动终止符,如果你传输的数据有0A这个值,就会认为数据读取已终止,将启用终止符设置为否就可以了,我遇到的是这个问题,希望对你有帮助

定时时间改成1秒看看

你好我想向您问一下如何实现开始提取和停止提取,比如说我想提取(0.5)的值,其中(和)作为开始和终止字符串,他一直进行循环发送,怎么把其中的0.5提取出来

请问这个确认一帧取一帧要怎么做到

路过,对于不钻研的人,没什么卵用

就是这个问题,完美解决。太感谢

您好,请问您一下:用队列的话,不管数据量多大都不会丢数据的,是吗?还有while循环是必须加的吗?

谢谢,学习一下。

你好 请问你这个另一个while循环出队列的字符串是怎么合并的呢 ,通过移位寄存器吗

加油!11

楼上几种方法都很常用   

你好,我也有同样的问题,请问你解决了吗?能教教我吗?

大神有没有程序,分享一下

同求

同求

队列啊

队列啊

您能编个实例吗?我尝试了没成功,谢谢

开房间韩国警方根据法国警方

读取字节可以。怎么判断是开始怎么判断结束

正遇到这样的问题,谢谢分享~~

啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

真的很好,对于初学者有很大帮助。小编辛苦了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top