按照网站例子用get_descr(2获取配置描述符可以得出一串正确的完整的配置描述符(包括接口、端点等描述符信息)。但用一下语句读配置描述符本身(不包括接口、端点),rd_usb_data函数读出后续数据长度是8不是9,但读完长度后,读数据时第一字节(按协议来说应该是配置描述符的长度)却是9。语句如下:
endp7_mode=0x80; toggle_send(); wr_usb_data(8,get_ctg_des);//get_ctg_des,0x80,0x06,0x00,0x02,0x00,0x00,9,0 status=issue_token(( 0 << 4 ) | DEF_USB_PID_SETUP); if(status==USB_INT_SUCCESS)/* SETUP阶段操作成功 */ { endp6_mode=0xc0; toggle_recv(); } else return(0); status=issue_token(( 0 << 4 ) | DEF_USB_PID_IN); if(status==USB_INT_SUCCESS)/* DATA阶段操作成功 */ rd_usb_data(RECV_BUFFER); [Emot]13[/Emot]