fkingreg
驱动牛犊
驱动牛犊
  • 注册日期2009-01-14
  • 最后登录2009-11-15
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望121点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1145回复:2

【求助】怎样提高传输速度?

楼主#
更多 发布于:2009-01-18 17:01

上次发贴没人理,,自己琢磨了几天,原来readfile一次不一定读端点最大字节数。现在传输速度到了120k bytes/s,还是比较慢

我用的是D12,每一次传输的过程是这样的,首先应用程序通过端点二发送一个传输数据的请求,固件接收到请求后会返回一个长度,表示现在已经就绪的数据长度,也表示将要发送的数据长度,然后应用程序用这个长度作为readfile的inbuffer length来接收数据,一般这个长度在几k-10k之间;  
这个过程循环进行,连续500次算下来平均速度大概在120k

在这之后,为了试试看速度能到多少,我试着减少握手的过程,让固件在接收到一个请求之后就一直周期性发数据,固定每100ms发一次每次10k,而应用程序就每次10k的读,这样就把一个握手的来回给省了,但是结果是,绝大多数时候,readfile会返回超时(500ms)不成功,偶尔成功了几次,结果蓝屏了。。。

我想问一下,为什么这样接收会超时呢?明明固件一直在发,应用请求的长度也正好,为什么收不好呢?  还有,到底有什么有效的机制可以让传输速度更快一些呢?

偶不懂驱动,如果问的问题太bc,还望高人们给我普及一下。。。
fkingreg
驱动牛犊
驱动牛犊
  • 注册日期2009-01-14
  • 最后登录2009-11-15
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望121点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-01-19 22:59
xhelop1
驱动牛犊
驱动牛犊
  • 注册日期2008-06-22
  • 最后登录2009-07-10
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望111点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2009-02-08 11:02
从驱动方面试着考虑,因为发送数据时是通过驱动环节进而发到设备的。
游客

返回顶部