在方法新()中,他们使用以下函数调用读取描述符:
read(fd, device->desc, sizeof(device->desc));
首先,在打开设备之后,如何从文件描述符读取。你怎么知道usb_device_descriptor是要读的?我觉得有点困惑。
第二个问题是如何从描述符和描述符中阅读usb_device?
谢谢。
发布于 2014-11-17 12:30:48
我发现他们如何设法检索接口和端点的详细信息:
while ((desc = usb_descriptor_iter_next(&iter)) != NULL)
{
if (desc->bDescriptorType == USB_DT_INTERFACE)
{
struct usb_interface_descriptor *interface = (struct usb_interface_descriptor *) desc;
interfaceValues.add(interface->bInterfaceNumber);
interfaceValues.add(interface->bInterfaceClass);
interfaceValues.add(interface->bInterfaceSubClass);
interfaceValues.add(interface->bInterfaceProtocol);
interfaceValues.add(interface->bNumEndpoints);
}
else if (desc->bDescriptorType == USB_DT_ENDPOINT)
{
struct usb_endpoint_descriptor *endpoint = (struct usb_endpoint_descriptor *) desc;
endpointValues.add(endpoint->bEndpointAddress);
endpointValues.add(endpoint->bmAttributes);
endpointValues.add(__le16_to_cpu(endpoint->wMaxPacketSize));
endpointValues.add(endpoint->bInterval);
}
}我只需在框架中深入一点,即这文件。
https://stackoverflow.com/questions/26781755
复制相似问题