ezusb到cyusb的移植

ojo   2009-12-29 17:28 楼主

我的问题是从ezusb到cyusb的移植:
以前ezusb的接口函数,比如:IOCTL_EZUSB_VENDOR_OR_CLASS_REQUEST, 现在换到cysub都是
IOCTL_ADAPT_XXXXXXXX, 请问大家有没有一个对照表。比如以前的ezusb函数是对应什么cyusb的接口
函数。谢谢!

比如:
    if (hUsbDevice != INVALID_HANDLE_VALUE )
    {
                 VR.direction = 0;   // (0=host to device, 1=device to host)
                 VR.requestType = 2;
                 VR.recepient = 0;
                 VR.request = VX_GPIFSINGLEWRITE;
                 VR.requestTypeReservedBits = 0;
                 Success = DeviceIoControl (hUsbDevice,
                                IOCTL_EZUSB_VENDOR_OR_CLASS_REQUEST,
                                &VR,
                                sizeof(VENDOR_OR_CLASS_REQUEST_CONTROL),
                                (UCHAR*)&da,
                                    2,
                                &nBytes,
                                NULL);
     }

回复评论 (7)

友情帮顶下; MARK
点赞  2009-12-30 08:47

我对照了相关的头文件,感觉有的比较像。等移植完了再说吧。
点赞  2009-12-30 17:56
举一个移植的例子:

bool ClearStatus()
{
        bool Success ;
//    VENDOR_OR_CLASS_REQUEST_CONTROL         VR;
//    unsigned long                           nBytes;
        if (hUsbDevice != INVALID_HANDLE_VALUE )
        {
                /*
                VR.direction = 0;   // (0=host to device, 1=device to host)
                VR.requestType = 2;
                VR.recepient = 0;
                VR.request = VR_ClearStatus;
                VR.requestTypeReservedBits = 0;
                Success = DeviceIoControl (hUsbDevice,
                                        IOCTL_EZUSB_VENDOR_OR_CLASS_REQUEST,
                                        &VR,
                                        sizeof(VENDOR_OR_CLASS_REQUEST_CONTROL),
                                        NULL,
                                        0,
                                        &nBytes,
                                        NULL);
                 */

        }
         移植后的代码:
         ept->Direction = DIR_TO_DEVICE;
         ept->ReqType = REQ_VENDOR;
         ept->Target = TGT_DEVICE;
         ept->ReqCode = VR_ClearStatus;
         
         下面的不会移植了?请高手指点。

        return Success;
}

我的问题是:
1. VR.requestTypeReservedBits = 0; 这个如何设置?
2. IOCTL_EZUSB_VENDOR_OR_CLASS_REQUEST,对应ept的什么函数?如果单单是清除状态,那么它是用
   BeginDataXfer呢?还是用Write就可以呢?
点赞  2010-1-5 12:00
搞过USB,但是没弄过你这个东西,帮顶一下吧。
点赞  2010-1-5 12:09

我的这个就是ezusb到cysub的移植问题,应该说,还是有人搞过的吧。
点赞  2010-1-5 12:42
自己顶一下。
点赞  2010-1-5 18:27
UP
点赞  2010-1-6 10:01
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复