读取描述符,用375 命令可以正确读出,但用控制方式写读描述符请求时,状态回复0X28。有那位大大知道为什么
CH375_Set_USBMode(5);
while(CH375_Wait_INT() != USB_INT_CONNECT);
DelayUs(200000);
CH375_SetAddr(5);
CH375_Set_Retry(50);
status = CH375_Get_freq();
if(status &0x10)
{
set_freq();
}
CH375_Reset_Device();//首先置7复位并延时10ms,然后置6并延时100ms
Bsp_CH375_SetAddr(5);
//Bsp_CH375_Get_USBDescr(1);//用CMD_GET_DESCR命令可以正确读出描述符
//len = CH375_Read_USBData(DataTemp);
Request.Req.bmRequestType=0x80;
Request.Req.bRequest=0x06;
Request.Req.wValue=0x0100;
Request.Req.wIndex=0x0000;
Request.Req.wLength=0x0012;
CH375_Write_USBData(8,Request.Req_buf);
CH375_Toggle_Send();
CH375_IssueToken( ( 0 << 4 ) | DEF_USB_PID_OUT );//最后状态返回0X28
len = CH375_Read_USBData(DataTemp);
//CH375_Get_USBDescr(2);//用CMD_GET_DESCR命令可以正确读出描述符
//len = CH375_Read_USBData(DataTemp);
Request.Req.bmRequestType=0x80;
Request.Req.bRequest=0x06;
Request.Req.wValue=0x0200;
Request.Req.wIndex=0x0000;
Request.Req.wLength=0x0009;
CH375_Write_USBData(8,Request.Req_buf);
CH375_Toggle_Send();
CH375_IssueToken( ( 0 << 4 ) | DEF_USB_PID_OUT );//最后状态返回0X28
len = CH375_Read_USBData(DataTemp);
Bsp_CH375_SetConfig(DataTemp[5]);
不管哪种方式读取描述符,后面写数据都是状态返回0X28