samulasun
驱动牛犊
驱动牛犊
  • 注册日期2003-04-23
  • 最后登录2006-04-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1499回复:5

请问D12如何加快上传的速度

楼主#
更多 发布于:2003-10-14 16:02
各位好,我有一个问题, 我使用Windriver来设计驱动程序,在上传的这一个步骤时发现他的速度很慢, 慢的原因是因为由D12传送资料到PC每次都只有64Byte
这里有点复杂,我先说明一下我这边由D12传送资料到PC的方法

1.先由PC送一个封包过去给D12, MCU收到后将资料放到D12 的Buffer里
2.PC端下Read的命令,接着就能收到64Byte的资料

 这里的问题在于
1.我每次要收命令之前都要先送一笔资料,所以相当于花了两倍时间
2.因为由D12端送资料每次都会固定是64Byte,所以PC端也一定是 64Byte, 资料量这么小,速度当然慢

如果是从PC端传送资料到D12速度不会这么慢,因为在PC端有个参数dwSize, 这个参数指的应该是Buffer的大小,若我将他设定成4K或8K则速度就会很快...

但是相同的观念我不知道要怎么把他应用在由D12传送资料到PC上面, 或者是有其它的方法可以解决这个问题, 非常希望大家可以帮我这个忙!! 感谢感谢!!
samulasun
驱动牛犊
驱动牛犊
  • 注册日期2003-04-23
  • 最后登录2006-04-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-10-14 20:03
很重要啊 请大家帮帮忙
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-10-15 08:48
直接设大buffer就行。
samulasun
驱动牛犊
驱动牛犊
  • 注册日期2003-04-23
  • 最后登录2006-04-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-10-15 14:18
请问您指的Buffer是不是PC端的Buffer??

另外,能不能请您具体说明一下上传的步骤有哪里错误, 我现在的步骤是:
1.PC下Write的命令
2.D12选择Main Point In
3.D12下Write的命令
4.D12下Validate 的Command
5.PC下Read的命令
6.D12收到Main In端点的中断, 马上重复执行2~4的步骤
7.一直循环

请问一下您指的Buffer是不是第五个步骤里的Buffer, 还有我上面的流程用BusHound去监控的时候会发现有Overrun的现象, 请问一下我的错误在哪里???
                                    非常非常谢谢您的帮忙
samulasun
驱动牛犊
驱动牛犊
  • 注册日期2003-04-23
  • 最后登录2006-04-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-10-16 15:17
大家帮帮忙啦
z_bing
驱动中牛
驱动中牛
  • 注册日期2002-09-28
  • 最后登录2008-04-14
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-10-21 18:48
直接设大buffer就行。


具体怎样设呢?
爱国守法,明理诚信,团结一致,战胜非典!
游客

返回顶部