完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
labview新手,上位机接收串口数据,数据发送时5ms一次,但是上位机接收不需要这么快,导致数据累积在缓冲区,直接读取缓冲区是得到以前累计数据,无法得到最新数据,请问我可以怎么操作才能够读取最新数据,感谢各位。
|
|
相关推荐
16个回答
|
|
|
可不可以清空缓冲区
|
|
|
|
|
|
感谢回复。你说的我试过,效果不是特别好。由于只能被动接收,发送端无法设置,没有帧头,只有终止符,所以接收的第一个数据基本是有问题的。这样如果每循环一次清空一下缓存区那么我基本一直接收错误数据。 |
|
|
|
|
|
我也是新手,我之前做的是根据帧头帧尾固定字符实现接收的。如果一次收很多数据(老数据和新数据),是不是可以尝试从这些数据中分离出你想要的最新数据。期待高手给我们再指点下。
|
|
|
|
|
一水真人 发表于 2015-12-31 15:25 把所有数据写到文件里,然后每次只读文件中最新的那一个数据应该肯定行,但是我觉得这样是绕弯路了,所以想请教有没有更直接的方法。还是感谢回复。 |
|
|
|
|
|
每次写到文件里肯定麻烦,为什么不把接收的数据/字符串直接抽取试试呢?
|
|
|
|
|
你试试把接收的数据直接放入这里进行处理下怎么样能,但是要找到特征字符吧,看到没有高手出现,我只当顶一下。 |
|
|
|
|
|
不是字符串问题,我现在问题是想读最新串口中的数据,却只能得到缓冲区中的数据 |
|
|
|
|
|
用串口助手调试下接受功能有没有自动清除功能,没有的话添加一个清除功能试试,我也不太懂,帮你顶下。
|
|
|
|
|
hlyaka 发表于 2015-12-31 15:20 如果是被动接收的方式的话,可不可以先清缓存,把终止符当作针头寻找再读取之后想要的字节数这么来做? |
|
|
|
|
|
一直读呗,上位机不需要就不处理,保证需要的时候读到的就是最新的了
|
|
|
|
|
|
设置一个合适的延时等待吧
|
|
|
|
|
|
|
|
|
|
|
|
参考附件文档的程序框图。主要就是每次读取数据前先清空缓冲区,然后当读取数据的字节数满足长度要求后开始读取数据。如果每次数据发送的字节长度是固定,将30改成该长度就行了。
|
|
|
|
|
|
|
|
|
|
|
|
恩 是用的这种模式 只不过刚开始有点儿问题 最后自己解决了 你是tju的? |
|
|
|
|
|
楼主解决否 同求~~~~
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
211 浏览 0 评论
请教大神,在labview里面对实时扫描资源中的C系列模块NI9234进行配置发生非预期错误
1709 浏览 0 评论
1585 浏览 0 评论
LABVIEW 2023 Q1调用python后一直报错1671
1960 浏览 2 评论
5207 浏览 3 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 02:28 , Processed in 1.011822 second(s), Total 109, Slave 88 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1960