首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓get usb_interface_descriptor,usb_endpoint_descriptor

安卓get usb_interface_descriptor,usb_endpoint_descriptor
EN

Stack Overflow用户
提问于 2014-11-06 14:21:21
回答 1查看 274关注 0票数 1

在方法新()中,他们使用以下函数调用读取描述符

read(fd, device->desc, sizeof(device->desc));

首先,在打开设备之后,如何从文件描述符读取。你怎么知道usb_device_descriptor是要读的?我觉得有点困惑。

第二个问题是如何从描述符描述符中阅读usb_device?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-17 12:30:48

我发现他们如何设法检索接口和端点的详细信息:

代码语言:javascript
复制
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);
        }
    }

我只需在框架中深入一点,即文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26781755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档