CH375 HOST 控制传输写数据状态返回0X28

读取描述符,用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


是我自己移植错了,发控制传输时没有用DEF_USB_PID_SETUP而是用的DEF_USB_PID_OUT


只有登录才能回复,可以选择微信账号登录