wxbfly
驱动牛犊
驱动牛犊
  • 注册日期2003-06-16
  • 最后登录2012-02-17
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1777回复:11

MaximumTransferSize的设置对效率的影响问题,及在传输数据时程序为什么会突然退出?

楼主#
更多 发布于:2003-09-22 10:20
我用的是pdiusbd12芯片,修改的DDK中的bulkusb驱动。
bulk端点一次包大小为64字节。我在驱动中设置pipe的MaximumTransferSize为64时,速率能够达到最大,传输64字节需要1ms,但如果我设置为8K或64K,那么速度就降了许多,甚至传输64字节需要15ms。

更要命的是传输一些数据后程序会自动退出,退出的时间跟MaximumTransferSize的大小也有关,如果为64,程序执行的时间会长一些,否则就会短很多。

我是新手,还请各位大哥不吝指教。

最新喜欢:

worldwarworldw...
flytomoon
驱动巨牛
驱动巨牛
  • 注册日期2003-07-09
  • 最后登录2004-10-18
  • 粉丝1
  • 关注1
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-09-22 11:58
没问题,有事就来驱网吧! :D :D
wxbfly
驱动牛犊
驱动牛犊
  • 注册日期2003-06-16
  • 最后登录2012-02-17
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-09-22 11:57
呵呵,以后还望版主多多指点。再次表示感谢。

My Email: wxbfly@163.com
My QQ:37737098
flytomoon
驱动巨牛
驱动巨牛
  • 注册日期2003-07-09
  • 最后登录2004-10-18
  • 粉丝1
  • 关注1
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-09-22 11:36
兄弟!以后多多交流!!! :D :D :D

[编辑 -  9/22/03 by  flytomoon]

[编辑 -  9/22/03 by  flytomoon]
wxbfly
驱动牛犊
驱动牛犊
  • 注册日期2003-06-16
  • 最后登录2012-02-17
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-09-22 11:12
呵呵,找到问题。真的是缓冲区不够啊。没想到会出这样的问题,它也不会出现非法操作直接就退出,真让人摸不着头脑。

OK,谢谢版主,结贴
flytomoon
驱动巨牛
驱动巨牛
  • 注册日期2003-07-09
  • 最后登录2004-10-18
  • 粉丝1
  • 关注1
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-09-22 10:59
好啊,有问题就说! :D
wxbfly
驱动牛犊
驱动牛犊
  • 注册日期2003-06-16
  • 最后登录2012-02-17
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-09-22 10:59
再谢版主:
我仔细查查先
flytomoon
驱动巨牛
驱动巨牛
  • 注册日期2003-07-09
  • 最后登录2004-10-18
  • 粉丝1
  • 关注1
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-09-22 10:58
觉得好像是上位机的程序或固件有问题,驱动是不会导致程序突然退出的,你再查查? :D
flytomoon
驱动巨牛
驱动巨牛
  • 注册日期2003-07-09
  • 最后登录2004-10-18
  • 粉丝1
  • 关注1
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-09-22 10:53
周立功的驱动和上位机程序还是有缺陷的,仔细看看,不要全信他的。上位机的调用和驱动里一定要对应。
flytomoon
驱动巨牛
驱动巨牛
  • 注册日期2003-07-09
  • 最后登录2004-10-18
  • 粉丝1
  • 关注1
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-09-22 10:51
会不会是因为你开的缓冲区写满了没有清空啊?要不然不会有此问题的。
wxbfly
驱动牛犊
驱动牛犊
  • 注册日期2003-06-16
  • 最后登录2012-02-17
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-09-22 10:47
多谢版主:

我也想把此值提大一些,可不知道为什么只有在设为64时传输速率才能达到最大,是不是和下位机有关?

更重要的是我实在不知道为什么程序会突然退出,什么都没留下。这让我从哪里找原因呢?

我用周立功的开发板及驱动同样会有此问题(我在程序里循环写数据,只写不读)。
flytomoon
驱动巨牛
驱动巨牛
  • 注册日期2003-07-09
  • 最后登录2004-10-18
  • 粉丝1
  • 关注1
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-09-22 10:38
你应该把aximumTransferSize设的值大些,如32K,这里的大小不是每个包的大小(64byte),而是每次DEVICEIOCONTRAL的大小,稍微大些可以减少DEVICEIOCONTRAL的调用次数,从而可以提高传输效率和速度,你可以试试。
游客

返回顶部