向USB 设备发送Request时出现问题,谁帮我解答一下

status=usbd_setup_vendor(micro->urb,URB_DIR_IN,0,USB_TYPE_VENDOR|USB_RECIPIENT_DEVICE ,0,0,buffer,1);
if(status!=0){
printf(“Set urb Failed\n”);
}
if( status = usbd_io( micro->urb, micro->ep_cntl, NULL, micro, USBD_TIME_INFINITY ) ) {
printf(“Failed Status:%d\n”,status);
return( status );
}

我想做个向USB 设备发送Request的测试,所以请求获取设备的status
可是usbd_io总是返回EIO。我先用USB摄像头做个测试,后来又用U盘做个测试,可都是返回这个值。我也换了其他的Request,也不行
到底时那块设置错了啊,谁帮我看看吧,谢谢

我记得很久以前

我做USB的时候 ,attach 成功之后,也不可以 used_io

后来用了一下 reset 函数,就可以了
int usbd_reset_device( struct usbd_device *device );


你可以试试看哦 :laughing: :laughing: