我把我的截图和我的描述符发给大家.<br />// 设备描述符号<br />const USB_DEVICE_DESCRIPTOR DeviceDescr =<br />{<br /> sizeof(USB_DEVICE_DESCRIPTOR),<br /> USB_DEVICE_DESCRIPTOR_TYPE,<br /> 0x00010000,<br /> 0, //USB分配的类代码 (已更改用于HID设备)<br /> 0, //USB分配的子类代码<br /> 0, //USB分配的协议代码<br /> EP0_PACKET_SIZE,<br /> 0x00040071, //idVendor<br /> 0x00060066, //idProduct<br /> 0x00010000, //bcdDevce<br /> 0,//1, //iManufactor<br /> 0,//2, //iProduct<br /> 0,//3, //iSerialNumber<br /> 1 //bNumConfigurations<br />};<br /><br />// 配置描述符<br />const USB_CONFIGURATION_DESCRIPTOR ConfigDescr =<br />{<br /> sizeof(USB_CONFIGURATION_DESCRIPTOR), //09<br /> USB_CONFIGURATION_DESCRIPTOR_TYPE, //02<br /> CONFIG_DESCRIPTOR_LENGTH, //29<br /> 1, //0x0001<br /> 1, //1<br /> 0, //0<br /> 0xa0, //总线供电,支持远程唤醒 //0xa0<br /> 0xc8 //400mA //0xc8<br />};<br /><br />// 接口描述符<br />const USB_INTERFACE_DESCRIPTOR InterfaceDescr =<br />{<br /> sizeof(USB_INTERFACE_DESCRIPTOR), //09<br /> USB_INTERFACE_DESCRIPTOR_TYPE, //04<br /> 0, //00<br /> 0, //00<br /> NUM_ENDPOINTS, //02<br /> 0x03,//原来是USB_CLASS_CODE_TEST_CLASS_DEVICE,<br /> 0x01,//原来是USB_SUBCLASS_CODE_TEST_CLASS_D12,<br /> 0x01,//原来是USB_PROTOCOL_CODE_TEST_CLASS_D12,<br /> 0<br />};<br />//HID描述符<br />const USB_HID_DESCRIPTOR HidDescr=<br />{<br /> sizeof(USB_HID_DESCRIPTOR), //09<br /> 0x21, //HID描述符<br /> 0x00010010, //HID版本号<br /> 0x21, //国家代码<br /> 0x01, //随后的描述符数,这里只有一个报告描述符<br /> 0x22, //随后的描述符类型,这里为报表描述符<br /> (unsigned long int)sizeof(ReportDescr) //报表描述符的长度<br />};<br />// 端点1输入描述符<br />const USB_ENDPOINT_DESCRIPTOR EP1_TXDescr =<br />{<br /> sizeof(USB_ENDPOINT_DESCRIPTOR), //07<br /> USB_ENDPOINT_DESCRIPTOR_TYPE, //05<br /> 0x81, //输入端点<br /> USB_ENDPOINT_TYPE_INTERRUPT, <br /> EP1_PACKET_SIZE, //16字节<br /> 0x0a //中断扫描时间:10ms<br />};<br /><br />// 端点1输出描述符<br />const USB_ENDPOINT_DESCRIPTOR EP1_RXDescr =<br />{<br /> sizeof(USB_ENDPOINT_DESCRIPTOR),<br /> USB_ENDPOINT_DESCRIPTOR_TYPE,<br /> 0x01, //输出端点<br /> USB_ENDPOINT_TYPE_INTERRUPT,<br /> EP1_PACKET_SIZE,<br /> 0x0a //中断扫描时间:10ms<br />};<br />我用的是凌阳的16位单片机,是小端格式的.所以和51有点不一样.
|