但是却都不到端点描述符。
如何设置断点属性呢?比如说:那个端点配置输入,那个端点配置输出,还有配置成中断方式、批量传输方式?
如果有人做过,能否发一份给我?感激不尽!
我的邮箱:lh806732@163.com
77 个解决方案
#1
你是做HOST驱动还是DEVICE驱动?
如果是DEVICE驱动,没有获取端点描述符可能是因为你所走的协议问题,或者是之前的描述符不对,比如说在接口描述符里要告诉HOST有几个端点。
如果是DEVICE驱动,没有获取端点描述符可能是因为你所走的协议问题,或者是之前的描述符不对,比如说在接口描述符里要告诉HOST有几个端点。
#2
我做的是HOST驱动,主要是要接收示波器发送过来的数据。
现在端点都读不到。
我在接口描述符里面看到bNumEndpoint一直是0。
读取接口描述符我用了lpGetDescriptor却不行。不知道是不是跟第六个参数有关。
(*pUSBD->usbFuncs->lpGetDescriptor)(pUSBD->hUSBDevice,
NULL,
NULL,
USB_SHORT_TRANSFER_OK,
*pBufIn,//USB_ENDPOINT_DESCRIPTOR_TYPE,
0,
0,// 0或语言ID
sizeof(USB_ENDPOINT_DESCRIPTOR),
&EndpointDescriptor
);
读取端点描述符的时候读出来的却是配置描述符:
(*pUSBD->usbFuncs->lpGetDescriptor)(pUSBD->hUSBDevice,
NULL,
NULL,
USB_SHORT_TRANSFER_OK,
*pBufIn,//USB_STRING_DESCRIPTOR_TYPE,
0,
0,// 0或语言ID
sizeof(USB_CONFIGURATION_DESCRIPTOR),
&CfgDescriptor
);
现在端点都读不到。
我在接口描述符里面看到bNumEndpoint一直是0。
读取接口描述符我用了lpGetDescriptor却不行。不知道是不是跟第六个参数有关。
(*pUSBD->usbFuncs->lpGetDescriptor)(pUSBD->hUSBDevice,
NULL,
NULL,
USB_SHORT_TRANSFER_OK,
*pBufIn,//USB_ENDPOINT_DESCRIPTOR_TYPE,
0,
0,// 0或语言ID
sizeof(USB_ENDPOINT_DESCRIPTOR),
&EndpointDescriptor
);
读取端点描述符的时候读出来的却是配置描述符:
(*pUSBD->usbFuncs->lpGetDescriptor)(pUSBD->hUSBDevice,
NULL,
NULL,
USB_SHORT_TRANSFER_OK,
*pBufIn,//USB_STRING_DESCRIPTOR_TYPE,
0,
0,// 0或语言ID
sizeof(USB_CONFIGURATION_DESCRIPTOR),
&CfgDescriptor
);
#3
#4
HOST的没做过,不了解,你找下BSP中的其它USB HOST参考一下吧。
#5
DEVICE驱动比做HOST驱动流行?
#6
你做过DEVICE的驱动,能否给我参考一下?
现在很迷茫了对这个HOST驱动。
#7
不知道为什么lpInterfaces(接口描述符指针)都是有效的,如下:
pInterface = pUSBD->lpDeviceInfo->lpActiveConfig->lpInterfaces;
if (NULL == pInterface)
{
RETAILMSG(USBOSC_ERR_MSG, (TEXT("OSC: pInterface is NULL !\r\n")));
}
这里没有打印出错误信息。
而到下一级lpEndpoints(端点描述符指针)却是空的,如下:
pEndpoint = pUSBD->lpDeviceInfo->lpActiveConfig->lpInterfaces->lpEndpoints;
if (NULL == pEndpoint)
{
RETAILMSG(USBOSC_ERR_MSG, (TEXT("OSC: pEndpoint is NULL !\r\n")));
}
这里就打印出了错误信息。
pInterface = pUSBD->lpDeviceInfo->lpActiveConfig->lpInterfaces;
if (NULL == pInterface)
{
RETAILMSG(USBOSC_ERR_MSG, (TEXT("OSC: pInterface is NULL !\r\n")));
}
这里没有打印出错误信息。
而到下一级lpEndpoints(端点描述符指针)却是空的,如下:
pEndpoint = pUSBD->lpDeviceInfo->lpActiveConfig->lpInterfaces->lpEndpoints;
if (NULL == pEndpoint)
{
RETAILMSG(USBOSC_ERR_MSG, (TEXT("OSC: pEndpoint is NULL !\r\n")));
}
这里就打印出了错误信息。
#8
#9
#10
你的枚举成功了么,你现在估计还卡在枚举的问题上啊,在枚举的时候,反复发Get_Device_Descriptor是协议规定的,而且会发送好几次,最后才得到包长等数据,然后获得端口数据,然后设置地址。
#11
现在所有的借口、端点描述符都可以读到了,接下来还需要做些什么动作吗?
比如说要怎么样来传输数据呢?
高手指点,小弟第一次做。
比如说要怎么样来传输数据呢?
高手指点,小弟第一次做。
#12
来学习了啊 。。。
#13
up
#14
现在碰到一个问题:驱动里面传给应用的pBufOut在驱动里面可以正常把接口描述符打印出来,而应用里面通过pBufOut打印出来的接口描述符完全是错误的?几个同事都看了没发现什么问题!
公司不允许贴代码出来,没有权限....................要不然我会把代码贴出来。
高手不如赐教!
公司不允许贴代码出来,没有权限....................要不然我会把代码贴出来。
高手不如赐教!
#15
up
#16
公司不允许贴代码出来,没有权限....................要不然我会把代码贴出来?HOST做过,可是你说的真的不是很明白啊,你的代码也不好说啊
#17
來學習了····
#18
#19
#20
不错,很好,学习下。
#21
这活不错,给钱我帮你写。
#22
现在所有的描述符都已经读到了,接下来是不是要使用SetFeature来设置接口、端点。根据接口里面有一项bAlterateSetting不同的值(我的设备这项的从0~3),在值为0时,我发现时没有端点的。只有从1~3时,才可以看得到都有6个端点。
现在有2个问题:
1、 下一步是否是用SetFeature来设置接口的bInterfaceNumber和bAlterateSetting,并决定使用哪个端点作为输出,哪个端点作为输入。对于输入和输出端点有没有什么特别的要求?
我用的是快(Bulk)传输,中断暂时不考虑。
2、 USB数据包如何解压?是否有一个标准?
高手继续指点!
现在有2个问题:
1、 下一步是否是用SetFeature来设置接口的bInterfaceNumber和bAlterateSetting,并决定使用哪个端点作为输出,哪个端点作为输入。对于输入和输出端点有没有什么特别的要求?
我用的是快(Bulk)传输,中断暂时不考虑。
2、 USB数据包如何解压?是否有一个标准?
高手继续指点!
#23
为什么没有人顶!!!!!!!!!!!!
#24
#25
学习来的
#26
学习来的
#27
up
#28
#29
mark下~~~
#30
MARK
#31
刚要学,先搬个板凳学习
#32
从你的问题来看我觉得你是在做client(device)驱动。其实在public下的usbfn下是有部分代码的,就看你是那种class,有USB网卡,USBserial,USBstorage。你可以看看
#33
我只是不确定要不要取SetFeature,所以我问一下。
我现利用读出来的描述符,使用1个输入(读)端点和一个输出(写)端点分别来做批量输入和批量输出。
现在发现:
1、端点打开成功了。但是我应用程序调用批量输入或输出时,基本上就卡死了。
2、批量输出如下:
usbTransfer = (*pUSBD->usbfuncs->lpIssueBulkTransfer)
(pUSBD->BulkOut.Pipe//所打开端点的句柄
NULL,
NULL,
USB_OUT_TRANSFER | USB_SHORT_TRANSFER_OK,
dwLenIn,
pBufIn,
NULL);
if (NULL==usbTransfer)
{
................
}
高手指点!!!!!!!!!!
我现利用读出来的描述符,使用1个输入(读)端点和一个输出(写)端点分别来做批量输入和批量输出。
现在发现:
1、端点打开成功了。但是我应用程序调用批量输入或输出时,基本上就卡死了。
2、批量输出如下:
usbTransfer = (*pUSBD->usbfuncs->lpIssueBulkTransfer)
(pUSBD->BulkOut.Pipe//所打开端点的句柄
NULL,
NULL,
USB_OUT_TRANSFER | USB_SHORT_TRANSFER_OK,
dwLenIn,
pBufIn,
NULL);
if (NULL==usbTransfer)
{
................
}
高手指点!!!!!!!!!!
#34
你的这个函数你好好看看参数的意思。。。USB_OUT_TRANSFER|USB_SHORT_TRANSFER_OK,
你这个事同步的表达吧。。。没有发出去就不会返回。。。你用USBNOwait估计就立即返回了。。研究下这个函数
#35
我使用USB_NO_WAIT对设备进行读,是会一下子返回,但是pBufOut里面却是没有值的,
usbTransfer = (*pUSB->usbFuncs->lpIssueBulkTransfer)
(pUSB->BulkIn.Pipe,//所打开端点的句柄
NULL,
null,
USB_OUT_TRANSFER | USB_NO_WAIT,
dwLenOut,
pBufOut,
NULL);
如果使用事件来同步,不知道有没有值,我这里老提示我参数不对,不知道怎么传参数!
typedef USB_TRANSFER (* LPISSUE_BULK_TRANSFER)(USB_PIPE,
LPTRANSFER_NOTIFY_TOUTINE,
LPVOID,
DWORD,
DWORD,
LPVOID,
ULONG);
好像跟有的地方定义又不一样!!!!主要是第二个和第三个参数,不知道怎么传!
高手指点!
#36
创建事件:第二个参数我传了 TRUE,因为我不知道现在是要手动还是自动?我看了PUBLIC下打印机的也是传了一个TRUE ???pUSBD->BulkIn.hEvent = CreateEvent(NULL, TRUE, FALSE, TEXT("USBOSC BulkIn"));
下面就是使用同步传输了?
usbTransfer = (*pUSB->usbFuncs->lpIssueBulkTransfer)(
pUSB->BulkIn.Pipe,//端点句柄
(LPTRANSFER_NOTIFY_ROUTINE)(*(pUSB->usbFuncs->lpIssTransferComplete)),
pUSB->BulkIn.hEvent,
USB_OUT_TRANSFER | USB_SHORT_TRANSFER_OK,
dwLenOut,
pBufOut,
NULL);
好像结果也不行啊!!!!!!!!!!!
#37
相当不好意思,上面的
USB_OUT_TRANSFER应该改为
USB_IN_TRANSFER,现在可以读到数据,但是不知道怎来解析这写数据?
USB数据包是不是有一个固定的打包标准? 应该如何来解析数据包呢?
高手指点!
USB数据包是不是有一个固定的打包标准? 应该如何来解析数据包呢?
高手指点!
#38
终于有结果了啊。。呵呵。。。这些你就得研究下协议了。。。不过网上有很多吧 功夫不负有心人啊
#39
为什么wince下面没有SetConfiguration,GetConfiguration?我现在是直接用读到的端点来通讯的,但是我Bus Hound读PC对USB的操作时有SetConfiguration操作的?wince为什么没有?
还有我现在不知道如何来读取和写示波器那一个通道(示波器有4个通道)?
还有我现在不知道如何来读取和写示波器那一个通道(示波器有4个通道)?
#40
搞错了,没有读到数据,是我写的应用申请内存后没有初始化?狂晕!
批量输入调用如下:
usbTransfer = (*pUSB->usbFuncs->lpIssueBulkTransfer)
(pUSB->BulkIn.hPipe ,//批量输入管道句柄
(LPTRANSFER_NOTIFY_ROUTINE)(*pUSB->usbFuncs->lpIsTransferComplete)), //回调函数
pUSB->BulkIn.hEvent ,//同步事件
USB_ IN_TRANSFER | USB_SHORT_TRANSFER_OK,
dwLenOut,
pBufOut ,//读出的数据放在pBufOut内存中
NULL);
if (NULL == usbTransfer)
{
...
}
高手指点一下, 为什么没有读到数据呢!pBufOut一直都是空(也就是初始化为0),一直都是0.
批量输入调用如下:
usbTransfer = (*pUSB->usbFuncs->lpIssueBulkTransfer)
(pUSB->BulkIn.hPipe ,//批量输入管道句柄
(LPTRANSFER_NOTIFY_ROUTINE)(*pUSB->usbFuncs->lpIsTransferComplete)), //回调函数
pUSB->BulkIn.hEvent ,//同步事件
USB_ IN_TRANSFER | USB_SHORT_TRANSFER_OK,
dwLenOut,
pBufOut ,//读出的数据放在pBufOut内存中
NULL);
if (NULL == usbTransfer)
{
...
}
高手指点一下, 为什么没有读到数据呢!pBufOut一直都是空(也就是初始化为0),一直都是0.
#41
顶贴,学习~~~~~
#42
批量输入管道句柄获取方式:
pUSB-> BulkIn.hPipe = (*pUSB->usbFuncs-> lpOpenPipe)(pUSB->hUSBDevice, //USB设备句柄
pEndpoint //指向要打开的端点描述符的指针
);
高手指点啊!急~
pUSB-> BulkIn.hPipe = (*pUSB->usbFuncs-> lpOpenPipe)(pUSB->hUSBDevice, //USB设备句柄
pEndpoint //指向要打开的端点描述符的指针
);
高手指点啊!急~
#43
mark
#44
[color=#FF0000]
难道没有人做过USB HOST驱动吗?[/color]
#45
遇到一个USB问题。楼主是否知道usb初始化怎么做?我的2440唤醒后usb就不能用(没有5V电源输出)
#46
初始化读取描述符都是由USBD操作完成的,具体我也不知道。
#47
帮顶一下.
#48
哎,为什么大家都没有做过wince USB HOST驱动呢? 还是不想说!
可能中国人就是这样,所以中国总是没有进步。
可能中国人就是这样,所以中国总是没有进步。
#49
呵呵。。哥们。。你很努力啊。。你的QQ是多少啊。。。我们可以讨论下。。虽然我也很菜
#50
我QQ:174646138, 公司邮箱:hua.liang@cnlaunch.com
上班的时候上不了QQ
上班的时候上不了QQ
#1
你是做HOST驱动还是DEVICE驱动?
如果是DEVICE驱动,没有获取端点描述符可能是因为你所走的协议问题,或者是之前的描述符不对,比如说在接口描述符里要告诉HOST有几个端点。
如果是DEVICE驱动,没有获取端点描述符可能是因为你所走的协议问题,或者是之前的描述符不对,比如说在接口描述符里要告诉HOST有几个端点。
#2
我做的是HOST驱动,主要是要接收示波器发送过来的数据。
现在端点都读不到。
我在接口描述符里面看到bNumEndpoint一直是0。
读取接口描述符我用了lpGetDescriptor却不行。不知道是不是跟第六个参数有关。
(*pUSBD->usbFuncs->lpGetDescriptor)(pUSBD->hUSBDevice,
NULL,
NULL,
USB_SHORT_TRANSFER_OK,
*pBufIn,//USB_ENDPOINT_DESCRIPTOR_TYPE,
0,
0,// 0或语言ID
sizeof(USB_ENDPOINT_DESCRIPTOR),
&EndpointDescriptor
);
读取端点描述符的时候读出来的却是配置描述符:
(*pUSBD->usbFuncs->lpGetDescriptor)(pUSBD->hUSBDevice,
NULL,
NULL,
USB_SHORT_TRANSFER_OK,
*pBufIn,//USB_STRING_DESCRIPTOR_TYPE,
0,
0,// 0或语言ID
sizeof(USB_CONFIGURATION_DESCRIPTOR),
&CfgDescriptor
);
现在端点都读不到。
我在接口描述符里面看到bNumEndpoint一直是0。
读取接口描述符我用了lpGetDescriptor却不行。不知道是不是跟第六个参数有关。
(*pUSBD->usbFuncs->lpGetDescriptor)(pUSBD->hUSBDevice,
NULL,
NULL,
USB_SHORT_TRANSFER_OK,
*pBufIn,//USB_ENDPOINT_DESCRIPTOR_TYPE,
0,
0,// 0或语言ID
sizeof(USB_ENDPOINT_DESCRIPTOR),
&EndpointDescriptor
);
读取端点描述符的时候读出来的却是配置描述符:
(*pUSBD->usbFuncs->lpGetDescriptor)(pUSBD->hUSBDevice,
NULL,
NULL,
USB_SHORT_TRANSFER_OK,
*pBufIn,//USB_STRING_DESCRIPTOR_TYPE,
0,
0,// 0或语言ID
sizeof(USB_CONFIGURATION_DESCRIPTOR),
&CfgDescriptor
);
#3
#4
HOST的没做过,不了解,你找下BSP中的其它USB HOST参考一下吧。
#5
DEVICE驱动比做HOST驱动流行?
#6
你做过DEVICE的驱动,能否给我参考一下?
现在很迷茫了对这个HOST驱动。
#7
不知道为什么lpInterfaces(接口描述符指针)都是有效的,如下:
pInterface = pUSBD->lpDeviceInfo->lpActiveConfig->lpInterfaces;
if (NULL == pInterface)
{
RETAILMSG(USBOSC_ERR_MSG, (TEXT("OSC: pInterface is NULL !\r\n")));
}
这里没有打印出错误信息。
而到下一级lpEndpoints(端点描述符指针)却是空的,如下:
pEndpoint = pUSBD->lpDeviceInfo->lpActiveConfig->lpInterfaces->lpEndpoints;
if (NULL == pEndpoint)
{
RETAILMSG(USBOSC_ERR_MSG, (TEXT("OSC: pEndpoint is NULL !\r\n")));
}
这里就打印出了错误信息。
pInterface = pUSBD->lpDeviceInfo->lpActiveConfig->lpInterfaces;
if (NULL == pInterface)
{
RETAILMSG(USBOSC_ERR_MSG, (TEXT("OSC: pInterface is NULL !\r\n")));
}
这里没有打印出错误信息。
而到下一级lpEndpoints(端点描述符指针)却是空的,如下:
pEndpoint = pUSBD->lpDeviceInfo->lpActiveConfig->lpInterfaces->lpEndpoints;
if (NULL == pEndpoint)
{
RETAILMSG(USBOSC_ERR_MSG, (TEXT("OSC: pEndpoint is NULL !\r\n")));
}
这里就打印出了错误信息。
#8
#9
#10
你的枚举成功了么,你现在估计还卡在枚举的问题上啊,在枚举的时候,反复发Get_Device_Descriptor是协议规定的,而且会发送好几次,最后才得到包长等数据,然后获得端口数据,然后设置地址。
#11
现在所有的借口、端点描述符都可以读到了,接下来还需要做些什么动作吗?
比如说要怎么样来传输数据呢?
高手指点,小弟第一次做。
比如说要怎么样来传输数据呢?
高手指点,小弟第一次做。
#12
来学习了啊 。。。
#13
up
#14
现在碰到一个问题:驱动里面传给应用的pBufOut在驱动里面可以正常把接口描述符打印出来,而应用里面通过pBufOut打印出来的接口描述符完全是错误的?几个同事都看了没发现什么问题!
公司不允许贴代码出来,没有权限....................要不然我会把代码贴出来。
高手不如赐教!
公司不允许贴代码出来,没有权限....................要不然我会把代码贴出来。
高手不如赐教!
#15
up
#16
公司不允许贴代码出来,没有权限....................要不然我会把代码贴出来?HOST做过,可是你说的真的不是很明白啊,你的代码也不好说啊
#17
來學習了····
#18
#19
#20
不错,很好,学习下。
#21
这活不错,给钱我帮你写。
#22
现在所有的描述符都已经读到了,接下来是不是要使用SetFeature来设置接口、端点。根据接口里面有一项bAlterateSetting不同的值(我的设备这项的从0~3),在值为0时,我发现时没有端点的。只有从1~3时,才可以看得到都有6个端点。
现在有2个问题:
1、 下一步是否是用SetFeature来设置接口的bInterfaceNumber和bAlterateSetting,并决定使用哪个端点作为输出,哪个端点作为输入。对于输入和输出端点有没有什么特别的要求?
我用的是快(Bulk)传输,中断暂时不考虑。
2、 USB数据包如何解压?是否有一个标准?
高手继续指点!
现在有2个问题:
1、 下一步是否是用SetFeature来设置接口的bInterfaceNumber和bAlterateSetting,并决定使用哪个端点作为输出,哪个端点作为输入。对于输入和输出端点有没有什么特别的要求?
我用的是快(Bulk)传输,中断暂时不考虑。
2、 USB数据包如何解压?是否有一个标准?
高手继续指点!
#23
为什么没有人顶!!!!!!!!!!!!
#24
#25
学习来的
#26
学习来的
#27
up
#28
#29
mark下~~~
#30
MARK
#31
刚要学,先搬个板凳学习
#32
从你的问题来看我觉得你是在做client(device)驱动。其实在public下的usbfn下是有部分代码的,就看你是那种class,有USB网卡,USBserial,USBstorage。你可以看看
#33
我只是不确定要不要取SetFeature,所以我问一下。
我现利用读出来的描述符,使用1个输入(读)端点和一个输出(写)端点分别来做批量输入和批量输出。
现在发现:
1、端点打开成功了。但是我应用程序调用批量输入或输出时,基本上就卡死了。
2、批量输出如下:
usbTransfer = (*pUSBD->usbfuncs->lpIssueBulkTransfer)
(pUSBD->BulkOut.Pipe//所打开端点的句柄
NULL,
NULL,
USB_OUT_TRANSFER | USB_SHORT_TRANSFER_OK,
dwLenIn,
pBufIn,
NULL);
if (NULL==usbTransfer)
{
................
}
高手指点!!!!!!!!!!
我现利用读出来的描述符,使用1个输入(读)端点和一个输出(写)端点分别来做批量输入和批量输出。
现在发现:
1、端点打开成功了。但是我应用程序调用批量输入或输出时,基本上就卡死了。
2、批量输出如下:
usbTransfer = (*pUSBD->usbfuncs->lpIssueBulkTransfer)
(pUSBD->BulkOut.Pipe//所打开端点的句柄
NULL,
NULL,
USB_OUT_TRANSFER | USB_SHORT_TRANSFER_OK,
dwLenIn,
pBufIn,
NULL);
if (NULL==usbTransfer)
{
................
}
高手指点!!!!!!!!!!
#34
你的这个函数你好好看看参数的意思。。。USB_OUT_TRANSFER|USB_SHORT_TRANSFER_OK,
你这个事同步的表达吧。。。没有发出去就不会返回。。。你用USBNOwait估计就立即返回了。。研究下这个函数
#35
我使用USB_NO_WAIT对设备进行读,是会一下子返回,但是pBufOut里面却是没有值的,
usbTransfer = (*pUSB->usbFuncs->lpIssueBulkTransfer)
(pUSB->BulkIn.Pipe,//所打开端点的句柄
NULL,
null,
USB_OUT_TRANSFER | USB_NO_WAIT,
dwLenOut,
pBufOut,
NULL);
如果使用事件来同步,不知道有没有值,我这里老提示我参数不对,不知道怎么传参数!
typedef USB_TRANSFER (* LPISSUE_BULK_TRANSFER)(USB_PIPE,
LPTRANSFER_NOTIFY_TOUTINE,
LPVOID,
DWORD,
DWORD,
LPVOID,
ULONG);
好像跟有的地方定义又不一样!!!!主要是第二个和第三个参数,不知道怎么传!
高手指点!
#36
创建事件:第二个参数我传了 TRUE,因为我不知道现在是要手动还是自动?我看了PUBLIC下打印机的也是传了一个TRUE ???pUSBD->BulkIn.hEvent = CreateEvent(NULL, TRUE, FALSE, TEXT("USBOSC BulkIn"));
下面就是使用同步传输了?
usbTransfer = (*pUSB->usbFuncs->lpIssueBulkTransfer)(
pUSB->BulkIn.Pipe,//端点句柄
(LPTRANSFER_NOTIFY_ROUTINE)(*(pUSB->usbFuncs->lpIssTransferComplete)),
pUSB->BulkIn.hEvent,
USB_OUT_TRANSFER | USB_SHORT_TRANSFER_OK,
dwLenOut,
pBufOut,
NULL);
好像结果也不行啊!!!!!!!!!!!
#37
相当不好意思,上面的
USB_OUT_TRANSFER应该改为
USB_IN_TRANSFER,现在可以读到数据,但是不知道怎来解析这写数据?
USB数据包是不是有一个固定的打包标准? 应该如何来解析数据包呢?
高手指点!
USB数据包是不是有一个固定的打包标准? 应该如何来解析数据包呢?
高手指点!
#38
终于有结果了啊。。呵呵。。。这些你就得研究下协议了。。。不过网上有很多吧 功夫不负有心人啊
#39
为什么wince下面没有SetConfiguration,GetConfiguration?我现在是直接用读到的端点来通讯的,但是我Bus Hound读PC对USB的操作时有SetConfiguration操作的?wince为什么没有?
还有我现在不知道如何来读取和写示波器那一个通道(示波器有4个通道)?
还有我现在不知道如何来读取和写示波器那一个通道(示波器有4个通道)?
#40
搞错了,没有读到数据,是我写的应用申请内存后没有初始化?狂晕!
批量输入调用如下:
usbTransfer = (*pUSB->usbFuncs->lpIssueBulkTransfer)
(pUSB->BulkIn.hPipe ,//批量输入管道句柄
(LPTRANSFER_NOTIFY_ROUTINE)(*pUSB->usbFuncs->lpIsTransferComplete)), //回调函数
pUSB->BulkIn.hEvent ,//同步事件
USB_ IN_TRANSFER | USB_SHORT_TRANSFER_OK,
dwLenOut,
pBufOut ,//读出的数据放在pBufOut内存中
NULL);
if (NULL == usbTransfer)
{
...
}
高手指点一下, 为什么没有读到数据呢!pBufOut一直都是空(也就是初始化为0),一直都是0.
批量输入调用如下:
usbTransfer = (*pUSB->usbFuncs->lpIssueBulkTransfer)
(pUSB->BulkIn.hPipe ,//批量输入管道句柄
(LPTRANSFER_NOTIFY_ROUTINE)(*pUSB->usbFuncs->lpIsTransferComplete)), //回调函数
pUSB->BulkIn.hEvent ,//同步事件
USB_ IN_TRANSFER | USB_SHORT_TRANSFER_OK,
dwLenOut,
pBufOut ,//读出的数据放在pBufOut内存中
NULL);
if (NULL == usbTransfer)
{
...
}
高手指点一下, 为什么没有读到数据呢!pBufOut一直都是空(也就是初始化为0),一直都是0.
#41
顶贴,学习~~~~~
#42
批量输入管道句柄获取方式:
pUSB-> BulkIn.hPipe = (*pUSB->usbFuncs-> lpOpenPipe)(pUSB->hUSBDevice, //USB设备句柄
pEndpoint //指向要打开的端点描述符的指针
);
高手指点啊!急~
pUSB-> BulkIn.hPipe = (*pUSB->usbFuncs-> lpOpenPipe)(pUSB->hUSBDevice, //USB设备句柄
pEndpoint //指向要打开的端点描述符的指针
);
高手指点啊!急~
#43
mark
#44
[color=#FF0000]
难道没有人做过USB HOST驱动吗?[/color]
#45
遇到一个USB问题。楼主是否知道usb初始化怎么做?我的2440唤醒后usb就不能用(没有5V电源输出)
#46
初始化读取描述符都是由USBD操作完成的,具体我也不知道。
#47
帮顶一下.
#48
哎,为什么大家都没有做过wince USB HOST驱动呢? 还是不想说!
可能中国人就是这样,所以中国总是没有进步。
可能中国人就是这样,所以中国总是没有进步。
#49
呵呵。。哥们。。你很努力啊。。你的QQ是多少啊。。。我们可以讨论下。。虽然我也很菜
#50
我QQ:174646138, 公司邮箱:hua.liang@cnlaunch.com
上班的时候上不了QQ
上班的时候上不了QQ