完整程序
PC机端程序:
ept->Target = TGT_DEVICE;//固定用法
ept->ReqType = REQ_VENDOR; //自定义请求
ept->Direction = DIR_TO_DEVICE; //方向 主机->设备
ept->ReqCode = 0xBD; //自定义请求码
ept->Value = 0;
ept->Index = 0;
PUCHAR buf=new UCHAR[64];
ZeroMemory(buf, 64);
LONG buflen = 64;
memset(buf,0x5a,buflen);
//buf[0]=0xbd;
ept->XferData(buf,buflen);//发送数据0x5a
ZeroMemory(buf, buflen);
memset(buf,0x6a,buflen);
ept->XferData(buf,buflen);//发送数据0x6a
下位机程序:
BOOL DR_CONTRLTEST(void)
{
unsigned int i;
for(i=0;i<128;i++)
{
SendByte(EP0BUF);//通过串口返回USB接收的数据
EZUSB_Delay(10);
}
EP0BCH=0;
EP0BCL=128;
EP0CS |= bmHSNAK;
return(TRUE);
}
串口调试助手显示的返回结果:
6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A 6A CF BB D9 FF 97 7F 78 C7 EF DF 6F EF FF EF DF CF BD EE 0D A7 FD F7 FF 8F BF F7 EE BB FB EB 7F 3F 76 39 AB B6 77 F2 FB CF 61 7F 51 F5 7E EE FF 34 BD DF F7 F5 9F BF DF FF AB 33 FA 7F BF 9E CB B7 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A 5A CF BB D9 FF 97 7F 78 C7 EF DF 6F EF FF EF DF CF BD EE 0D A7 FD F7 FF 8F BF F7 EE BB FB EB 7F 3F 76 39 AB B6 77 F2 FB CF 61 7F 51 F5 7E EE FF 34 BD DF F7 F5 9F BF DF FF AB 33 FA 7F BF 9E CB B7
不知道为什么,先发的是0x5a,后发0x6a。这里怎么先显示ox6a呢?
|