| 手册上有说,加上自己理解。老师这事就省了,你有问题发帖吧。我也不用QQ,加了也不上。 
 你说那个HOLD和RUN ,我归纳了一下,可以写成下面的样子。但是,目前这两个函数确确实实用不到,也许写驱动程序用得着吧。写出来你参考吧。
 
 // HOLD
 void CTestDlg::Hold()
 {
 if(USBDevice != NULL)
 {
 CCyControlEndPoint  *ept = USBDevice->ControlEndPt;
 
 ept->Target    = TGT_DEVICE;
 ept->ReqType   = REQ_VENDOR;
 ept->Direction = DIR_TO_DEVICE;
 ept->ReqCode   = 0xA0;
 ept->Value     = 0xE600;
 ept->Index     = 0;
 
 unsigned char buf[1];
 buf[0] = '\01';
 LONG bytesToSend =  1;
 ept->Write(buf,  bytesToSend);
 }
 }
 
 // RUN
 void CTestDlg::Run()
 {
 if(USBDevice != NULL)
 {
 CCyControlEndPoint  *ept = USBDevice->ControlEndPt;
 
 ept->Target    = TGT_DEVICE;
 ept->ReqType   = REQ_VENDOR;
 ept->Direction = DIR_TO_DEVICE;
 ept->ReqCode   = 0xA0;
 ept->Value     = 0xE600;
 ept->Index     = 0;
 
 unsigned char buf[1];
 buf[0] = '\00';
 LONG bytesToSend =  1;
 ept->Write(buf,  bytesToSend);
 }
 |