hglzw
驱动小牛
驱动小牛
  • 注册日期2001-06-12
  • 最后登录2006-03-03
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1706回复:7

关于我的usb write的size不能大于65535的问题?请教!!

楼主#
更多 发布于:2003-05-26 16:55
我做的usb,有个问题弄不明白,为何我一次write大于64k,write就出错,getlasterrorcode=87,无效的参数。小于64k很好。敢问各位高手,这是怎吗会事呢?

最新喜欢:

abei11abei11
[img]http://www.kinboh.com/images/5130.jpg[/img]
dalaba
驱动小牛
驱动小牛
  • 注册日期2001-09-12
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分84分
  • 威望11点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-05-26 16:57
只能小于64k,等于都不行,分多次write
lvwj
驱动老牛
驱动老牛
  • 注册日期2001-08-21
  • 最后登录2021-01-31
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望181点
  • 贡献值0点
  • 好评度52点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2003-05-26 17:20
你是在 user mode 还是在 kernel mode 传? 在 driver 中,一次传送的大小你自己可以设置。 :D
www.bjjcz.com
kilroy_guo
驱动大牛
驱动大牛
  • 注册日期2002-10-29
  • 最后登录2005-11-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-05-27 15:22
难道是usbd.sys做了限制?密切关注中,请高手支招 :(
二姑家的猫想......
kilroy_guo
驱动大牛
驱动大牛
  • 注册日期2002-10-29
  • 最后登录2005-11-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-05-27 15:53
你是在 user mode 还是在 kernel mode 传? 在 driver 中,一次传送的大小你自己可以设置。 :D


哈哈!!!看了一下驱动代码才知道cypress的驱动里面初始化每个管道的最大传输量是64*1024-1,哈哈,有需要的朋友自己改一下这个缺省值 :D :D :D
二姑家的猫想......
hglzw
驱动小牛
驱动小牛
  • 注册日期2001-06-12
  • 最后登录2006-03-03
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-05-28 08:46
在startdevice时配置usb dvice,确实有对pipe最大传输尺寸进行重新设置。
  Interface = &urb->UrbSelectConfiguration.Interface;
            
            for (i=0; i< Interface->NumberOfPipes; i++) {
                //
                // perform any pipe initialization here
                //
                Interface->Pipes.MaximumTransferSize = 64*1024-1;//64k-1
            }

            UsbBuildSelectConfigurationRequest(urb,
                                              (USHORT) siz,
                                              ConfigurationDescriptor);

//            Interface->AlternateSetting = 3;
            
            ntStatus = D12_CallUSBD(DeviceObject, urb);
不知改动这里是否可管用,偶先试试,谢谢楼上的各位兄弟。
 :P
[img]http://www.kinboh.com/images/5130.jpg[/img]
hglzw
驱动小牛
驱动小牛
  • 注册日期2001-06-12
  • 最后登录2006-03-03
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-05-28 09:18
兄弟们偶每人都给分了,虽然每人1分,但是表达俺的心意 :D :D :D
[img]http://www.kinboh.com/images/5130.jpg[/img]
kono1980
驱动牛犊
驱动牛犊
  • 注册日期2003-04-29
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-05-29 11:11
青鸟华光有用D12开发USB的项目吗?
游客

返回顶部