我修改了官方的CompositeKM例程,在其中添加了一個(gè)端點(diǎn)用于通信,但是修改后的程序在使用bushound分析通信時(shí)發(fā)現(xiàn)主機(jī)一直在獲取字符串描述符,端點(diǎn)上傳數(shù)據(jù)正常,但是隔一段時(shí)間就會(huì)發(fā)送一條命令獲取字符串描述符,設(shè)備返回后還是繼續(xù)發(fā)送,是什么原因?
這是我修改后的配置描述符
/*?Configuration?Descriptor?Set?*/ const?uint8_t?MyCfgDescr[?]?= { ????/*?Configuration?Descriptor?*/ ????0x09,???????????????????????????????????????????????????//?bLength ????0x02,???????????????????????????????????????????????????//?bDescriptorType ????0x5B,?0x00,?????????????????????????????????????????????//?wTotalLength ????0x03,???????????????????????????????????????????????????//?bNumInterfaces ????0x01,???????????????????????????????????????????????????//?bConfigurationValue ????0x00,???????????????????????????????????????????????????//?iConfiguration ????0xA0,???????????????????????????????????????????????????//?bmAttributes:?Bus?Powered;?Remote?Wakeup ????0x32,???????????????????????????????????????????????????//?MaxPower:?100mA ????/*?Interface?Descriptor?(Keyboard)?*/ ????0x09,???????????????????????????????????????????????????//?bLength ????0x04,???????????????????????????????????????????????????//?bDescriptorType ????0x00,???????????????????????????????????????????????????//?bInterfaceNumber ????0x00,???????????????????????????????????????????????????//?bAlternateSetting ????0x01,???????????????????????????????????????????????????//?bNumEndpoints ????0x03,???????????????????????????????????????????????????//?bInterfaceClass ????0x01,???????????????????????????????????????????????????//?bInterfaceSubClass ????0x01,???????????????????????????????????????????????????//?bInterfaceProtocol:?Keyboard ????0x00,???????????????????????????????????????????????????//?iInterface ????/*?HID?Descriptor?(Keyboard)?*/ ????0x09,???????????????????????????????????????????????????//?bLength ????0x21,???????????????????????????????????????????????????//?bDescriptorType ????0x11,?0x01,?????????????????????????????????????????????//?bcdHID ????0x00,???????????????????????????????????????????????????//?bCountryCode ????0x01,???????????????????????????????????????????????????//?bNumDescriptors ????0x22,???????????????????????????????????????????????????//?bDescriptorType ????0x3E,?0x00,?????????????????????????????????????????????//?wDescriptorLength ????/*?Endpoint?Descriptor?(Keyboard)?*/ ????0x07,???????????????????????????????????????????????????//?bLength ????0x05,???????????????????????????????????????????????????//?bDescriptorType ????0x81,???????????????????????????????????????????????????//?bEndpointAddress:?IN?Endpoint?1 ????0x03,???????????????????????????????????????????????????//?bmAttributes ????0x08,?0x00,?????????????????????????????????????????????//?wMaxPacketSize ????0x0A,???????????????????????????????????????????????????//?bInterval:?10mS ????/*?Interface?Descriptor?(Mouse)?*/ ????0x09,???????????????????????????????????????????????????//?bLength ????0x04,???????????????????????????????????????????????????//?bDescriptorType ????0x01,???????????????????????????????????????????????????//?bInterfaceNumber ????0x00,???????????????????????????????????????????????????//?bAlternateSetting ????0x01,???????????????????????????????????????????????????//?bNumEndpoints ????0x03,???????????????????????????????????????????????????//?bInterfaceClass ????0x01,???????????????????????????????????????????????????//?bInterfaceSubClass ????0x02,???????????????????????????????????????????????????//?bInterfaceProtocol:?Mouse ????0x00,???????????????????????????????????????????????????//?iInterface ????/*?HID?Descriptor?(Mouse)?*/ ????0x09,???????????????????????????????????????????????????//?bLength ????0x21,???????????????????????????????????????????????????//?bDescriptorType ????0x10,?0x01,?????????????????????????????????????????????//?bcdHID ????0x00,???????????????????????????????????????????????????//?bCountryCode ????0x01,???????????????????????????????????????????????????//?bNumDescriptors ????0x22,???????????????????????????????????????????????????//?bDescriptorType ????0x34,?0x00,?????????????????????????????????????????????//?wDescriptorLength ????/*?Endpoint?Descriptor?(Mouse)?*/ ????0x07,???????????????????????????????????????????????????//?bLength ????0x05,???????????????????????????????????????????????????//?bDescriptorType ????0x82,???????????????????????????????????????????????????//?bEndpointAddress:?IN?Endpoint?2 ????0x03,???????????????????????????????????????????????????//?bmAttributes ????0x08,?0x00,?????????????????????????????????????????????//?wMaxPacketSize ????0x01,????????????????????????????????????????????????????//?bInterval:?1mS ????/*?Interface?Descriptor?(EP3)?*/ ????0x09,???????????????????????????????????????????????????//?bLength ????0x04,???????????????????????????????????????????????????//?bDescriptorType ????0x02,???????????????????????????????????????????????????//?bInterfaceNumber ????0x00,???????????????????????????????????????????????????//?bAlternateSetting ????0x02,???????????????????????????????????????????????????//?bNumEndpoints ????0x03,???????????????????????????????????????????????????//?bInterfaceClass ????0x00,???????????????????????????????????????????????????//?bInterfaceSubClass ????0x00,???????????????????????????????????????????????????//?bInterfaceProtocol:?Mouse ????0x00,???????????????????????????????????????????????????//?iInterface ????/*?HID?Descriptor?(EP3)?*/ ????0x09,???????????????????????????????????????????????????//?bLength ????0x21,???????????????????????????????????????????????????//?bDescriptorType ????0x00,?0x01,?????????????????????????????????????????????//?bcdHID ????0x00,???????????????????????????????????????????????????//?bCountryCode ????0x01,???????????????????????????????????????????????????//?bNumDescriptors ????0x22,???????????????????????????????????????????????????//?bDescriptorType ????0x22,?0x00,?????????????????????????????????????????????//?wDescriptorLength ????/*?Endpoint?Descriptor?(EP3)?*/ ????0x07,???????????????????????????????????????????????????//?bLength ????0x05,???????????????????????????????????????????????????//?bDescriptorType ????0x83,???????????????????????????????????????????????????//?bEndpointAddress:?IN?Endpoint?3 ????0x03,???????????????????????????????????????????????????//?bmAttributes ????0x40,?0x00,?????????????????????????????????????????????//?wMaxPacketSize ????0x01,????????????????????????????????????????????????????//?bInterval:?1mS ????/*?Endpoint?Descriptor?(EP3)?*/ ????0x07,???????????????????????????????????????????????????//?bLength ????0x05,???????????????????????????????????????????????????//?bDescriptorType ????0x03,???????????????????????????????????????????????????//?bEndpointAddress:?OUT?Endpoint?3 ????0x03,???????????????????????????????????????????????????//?bmAttributes ????0x40,?0x00,?????????????????????????????????????????????//?wMaxPacketSize ????0x01,????????????????????????????????????????????????????//?bInterval:?1mS };
這是通過(guò)bushound獲取的通信數(shù)據(jù)