阅读:1741回复:5
关于管道与端点问题请教~~~~~
我用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); 请教各位朋友,到底哪里出了问题? 管道与端点到底是如何对应的? 上位机的应用程序传输管道的定义到底该如何与固件程序以及驱动程序里的端点对应? 先谢谢各位朋友! |
|
沙发#
发布于:2007-07-01 16:45
我只知道,传输的管道是在驱动中定义,与硬件无关,但具体怎么定义的我也和楼主一样迷茫
|
|
板凳#
发布于:2007-07-02 08:06
自己顶一下,哪位知道的朋友,不吝赐教!
|
|
地板#
发布于:2007-07-02 16:41
用户被禁言,该主题自动屏蔽! |
|
地下室#
发布于:2007-07-02 20:48
虽然我也不是很懂,但是可以参看下面的解释看看。
http://www.usbsolution.com/forum_posts.asp?TID=501&PN=1 |
|
5楼#
发布于:2007-07-04 17:17
谢谢楼上的,不过问题还未解决
还望大侠们帮帮忙! |
|