FX3/CX3 REQ_VENDOR自定义usb命令

来源:互联网 发布:网络教育平台登录 编辑:程序博客网 时间:2024/06/05 21:56

CyApi上位机代码:

void CCyUSB_DemoDlg::OnBnClickedOk5()//cyusb_demo{       CtlEndpoint->Target    = TGT_DEVICE;       //不必关注,固定    CtlEndpoint->ReqType   = REQ_VENDOR;       //请求类型:自定义请求(标准请求等)    CtlEndpoint->Direction = DIR_TO_DEVICE;    //传输方向:主机->usb设备(out)    CtlEndpoint->ReqCode   = 0xe0;  //自定义请求码      CtlEndpoint->Value     = 0;     //这里的设定值将传给setupdat的[2:3]位 wValue    CtlEndpoint->Index     = 0;     //这里的设定值将传给setupdat的[4:5]位 wIndex    PUCHAR buf = new UCHAR[1];    ZeroMemory(buf,1);      //用0填充buf区,填充大小(1字节)    long buflen = 0;        //传输的其他字节数:cy控制台console中length的值    CtlEndpoint->XferData(buf,buflen);}

Fx3 处理代码:

CyU3PUsbRegisterSetupCallback(CyFxUSBSetupCB, CyTrue);//回调中的处理if ((bType == CY_U3P_USB_VENDOR_RQT) && (bRequest == 0xE0) && (wLength == 0)){  // 此处只是简单通过串口打印参数信息,自己可添加需要的处理代码   CyU3PDebugPrint (4,  "vendor_req:bType=0x%x,bRequest=0x%x,wValue=0x%x,wIndex=0x%x,wLength=0x%x.\n",bType,bRequest,wValue,wIndex,wLength); }

这里写图片描述
这里写图片描述

如果cypress的Control Center没有枚举出来,不能发送命令,可用bus hound发送。

原创粉丝点击