xiaobazhang
驱动牛犊
驱动牛犊
  • 注册日期2007-06-06
  • 最后登录2007-07-04
  • 粉丝0
  • 关注0
  • 积分300分
  • 威望31点
  • 贡献值0点
  • 好评度30点
  • 原创分0分
  • 专家分0分
阅读:1742回复:5

关于管道与端点问题请教~~~~~

楼主#
更多 发布于:2007-06-29 16:07
    我用DriverStdio编写了一个驱动程序,定义了两个pipe
    pipe0:0x02
    pipe1:0x86
驱动程序主要实现描述符的读取,固件下载以及数据读写,都是用IOCTL实现

   固件程序里描述符中定义了两个endpoint
   一个是68013的端点2为BULK类out端点:0x02
   另一个是68013的端点6为BULK类in端点:0x86
  固件代码主要是实现将端点2数据依次放入到端点6中,在其它的应用程序中调试正确通过

  上位机应用程序采用deviceiocontrol进行数据传输,定义了两个BULK_TRANSFER_CONTROL类型的变量outbulkControl和inbulkControl,管道定义为:
     outbulkControl.pipeNum = 0
          inbulkControl.pipeNum = 1

驱动程序加载成功,能够读出描述符信息,也可成功下载固件程序,并能读出固件程序里定义的设备信息。但通讯时出了问题,不能进行传输
  
   发送数据的主要代码为:
BULK_TRANSFER_CONTROL outbulkControl;
outbulkControl.pipeNum = 0;    
bResult = DeviceIoControl (hDevice,
                                     IOCTL_EZUSB_BULK_WRITE,
                                    &outbulkControl,
                                    sizeof(BULK_TRANSFER_CONTROL),
                                   OutBuffer,            //待发送的数据
                                   sizeof(OutBuffer),
                                   (ULONG *)&BytesReturn,
                                    NULL);


请教各位朋友,到底哪里出了问题?

管道与端点到底是如何对应的?
上位机的应用程序传输管道的定义到底该如何与固件程序以及驱动程序里的端点对应?

先谢谢各位朋友!
xiaobazhang
驱动牛犊
驱动牛犊
  • 注册日期2007-06-06
  • 最后登录2007-07-04
  • 粉丝0
  • 关注0
  • 积分300分
  • 威望31点
  • 贡献值0点
  • 好评度30点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-07-04 17:17
谢谢楼上的,不过问题还未解决
还望大侠们帮帮忙!
pi-ai
驱动牛犊
驱动牛犊
  • 注册日期2006-02-07
  • 最后登录2010-04-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望25点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-07-02 20:48
虽然我也不是很懂,但是可以参看下面的解释看看。
http://www.usbsolution.com/forum_posts.asp?TID=501&PN=1
gutian98
禁止发言
禁止发言
  • 注册日期2003-01-12
  • 最后登录2016-12-11
  • 粉丝4
  • 关注2
  • 积分760分
  • 威望8026点
  • 贡献值1点
  • 好评度364点
  • 原创分0分
  • 专家分21分
  • 金点子奖
  • 社区居民
地板#
发布于:2007-07-02 16:41
用户被禁言,该主题自动屏蔽!
xiaobazhang
驱动牛犊
驱动牛犊
  • 注册日期2007-06-06
  • 最后登录2007-07-04
  • 粉丝0
  • 关注0
  • 积分300分
  • 威望31点
  • 贡献值0点
  • 好评度30点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-07-02 08:06
自己顶一下,哪位知道的朋友,不吝赐教!
白帆
驱动牛犊
驱动牛犊
  • 注册日期2006-05-17
  • 最后登录2008-04-14
  • 粉丝0
  • 关注0
  • 积分600分
  • 威望61点
  • 贡献值0点
  • 好评度60点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-07-01 16:45
我只知道,传输的管道是在驱动中定义,与硬件无关,但具体怎么定义的我也和楼主一样迷茫
游客

返回顶部