手册上有说,加上自己理解。老师这事就省了,你有问题发帖吧。我也不用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);
}
|