ezusb到cyusb的移植

yingbinchina 2009-12-29 05:28:02

我的问题是从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);
}
...全文
168 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yingbinchina 2010-01-06
  • 打赏
  • 举报
回复
UP
yingbinchina 2010-01-05
  • 打赏
  • 举报
回复

我的这个就是ezusb到cysub的移植问题,应该说,还是有人搞过的吧。
博说医械研发 2010-01-05
  • 打赏
  • 举报
回复
搞过USB,但是没弄过你这个东西,帮顶一下吧。
yingbinchina 2010-01-05
  • 打赏
  • 举报
回复
举一个移植的例子:

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就可以呢?
yingbinchina 2010-01-05
  • 打赏
  • 举报
回复
自己顶一下。
kyzf 2009-12-30
  • 打赏
  • 举报
回复
友情帮顶下; MARK
yingbinchina 2009-12-30
  • 打赏
  • 举报
回复

我对照了相关的头文件,感觉有的比较像。等移植完了再说吧。

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧