完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
最近在做一个比赛,就是论坛里面很常见的示波器,但是验证它的时候,发现数据传输很慢,然后用串口调试工具,数据也是一个个传上来,波特率选择为19200,理论上应该一秒传送1000个字节的数,但是只有10个不到,请各位大神解释一下怎么回事,应该怎么解决,谢谢了!!!
|
|
相关推荐
4个回答
|
|
本帖最后由 fantek 于 2013-12-17 19:13 编辑
timeout用缺省值10秒,意思是在10秒内读取数据到指定字节数,如果数据没有达到指定字节数,就报timeout错误,所以没必要设置为1000秒,这么大的值会非常考验你的耐心.接收缓冲区的缺省值为4096,可以不必重复调用缓冲区配置函数. 你可以用调试器观察数据包的长度和接收间隔(数据包率). 如果数据包的长度是固定的,再估算一下每秒接收数据包的个数. 然后调整timeout到合适的值即可. timeout不能太大也不能太小.读取的字节数设置为包的最大长度. timeout=1/数据包率,可以适当大一点. |
|
|
|
可否提供通信协议和数据传输部分的程序框图。检查一下timeout配置参数和循环延时时间。用串口调试器每秒能接收多少字节?
|
|
|
|
timeout没有设置,但是串口配置的地方把超时设置成1000秒,数据传输速度非常慢,VISA接收选择一次接收1024个字节的数,但是运行之后,过了几秒钟,才接收到几十个字节,然后又跳变成128个,变成256个。不用labview就用一般的串口调试工具时,也没有达到19200波特率应该有的速度,而且远远小于这个数(每秒大概可以接受几十字节),很奇怪的是,数据没有丢失,那到底是下位机出问题,还是哪儿没有正常工作呢? |
|
|
|
谢谢,我检查过了之后,发现确实数据包率就很低,然后继续检查,发现下位机在传送数据的过程中延时了较长的时间,和labview没什么关系,还是很感谢! |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
想通过labview实现这个二维数组转成一维数组的功能,但是不知道怎么搞?新手求图(苍蝇戳手)
960 浏览 3 评论
关于DAQExpress软件中电压的最大值最小值是根据什么来确定的?
1768 浏览 1 评论
基于LabVIEW的声发射定位:如何准确获取信号到达不同传感器的时差?
1563 浏览 1 评论
2564 浏览 0 评论
2937 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-18 07:12 , Processed in 0.492655 second(s), Total 57, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号