端点
在一个接口中有许多端点,每一个端点需要对应一个管道。并且,每一个管道只能有一种方向。因此一个驱动程序,最少应该有两个端点。一个是EP_IN 一个是EP_OUT。
端点描述符
struct_usb_endpoint_descriptor
{
__u8 bLength;
__u8 bDescriptorType;
__u8 bEndpointAddress;
__u8 bmAttributes;
__le16 wMaxPacketSize;
__ju8 bInterval;
__u8 bRefresh;
__u8 bSynchAddress;
}
bLength
对于usb 设备 端点描述符来讲 bLength 为7
bDescriptorType
来端点描述符类型 为0x05
EndpointAddress bits0-bits3 存储的是与0x0f相与 是端点号, 即EP_IN , EP_OUT
bit7 指的是方向 (与0x08相与)
bmAttributes bit0 与bit1表示传输方向称为transferType00 表示控制传输01 等时传输 10批量传输11 中断传输
在libusb库中有这样一个API