阅读:1003回复:2
请教usb等时传输问题
最近在VxWorks下做一个ov511摄像头的驱动,主要是对linux下的驱动(即文件ov511.c和ov511.h)进行改写。现在设备已经能正确设置,能正确设置interface,建立isoc管道也没错,在向管道发出USB_IRP报老是出错,返回S_usbHcdLib_STRUCT_SIZE_FAULT,以下是我的USB_IRP初始化代码,请板上高手看看。
#define BUF_SIZE 961*100 char *pBuf = OSS_MALLOC(BUF_SIZE); pIrp->irpLen = sizeof(USB_IRP); pIrp->flags = USB_ISOC_ASAP; pIrp->transferLen = BUF_SIZE; pIrp->userCallback = pMyCallback; pIrp->bfrCount = 1; pIrp->bfrList[0].pid = USB_DIR_IN; pIrp->bfrList[0].bfr = pBuf; pIrp->bfrList[0].bufLen = BUF_SIZE; 在回调函数pMyCallback中pIrp->result即返回S_usbHcdLib_STRUCT_SIZE_FAULT错误,这到底是怎么回事啊。进行isoc传输还要注意些什么,往高手指教。谢谢! |
|
沙发#
发布于:2007-09-03 16:06
问题已解决,原来是
pTempIrp->bfrList[0].pid = USB_DIR_IN; 应该为: pTempIrp->bfrList[0].pid = USB_PID_IN; This is really stupid! |
|
板凳#
发布于:2007-08-31 14:15
ding
|
|
|