您的位置:首页 > 其它

struct usb_endpoint_descriptor

2017-02-23 14:35 567 查看
struct usb_endpoint_descriptor {
__u8  bLength;            //该结构体的字节数
__u8  bDescriptorType;

__u8  bEndpointAddress;   // 端点地址和数据传输方向
__u8  bmAttributes;       //端点类型
__le16 wMaxPacketSize;    // 发送和接受的协议包的大小
__u8  bInterval;

/* NOTE:  these two are _only_ in audio endpoints. */
/* use USB_DT_ENDPOINT*_SIZE in bLength, not sizeof. */
__u8  bRefresh;
__u8  bSynchAddress;
} __attribute__ ((packed));


bmAttributes:

#define USB_ENDPOINT_XFERTYPE_MASK	0x03	/* in bmAttributes */
#define USB_ENDPOINT_XFER_CONTROL	0       //control endpoint
#define USB_ENDPOINT_XFER_ISOC		1       //isochronous endpoint
#define USB_ENDPOINT_XFER_BULK		2       //bulk endpoint
#define USB_ENDPOINT_XFER_INT		3       //interrupt endpoint

bEndpointAddress:

bit 3...0 : 端点号

bit 6...4: Reserved,reset to zero

bit 7   :  Direction,Ignored  for control endpoints . 0 = IN endpoint ,1 = OUT endpoint

#define USB_DIR_OUT			0		/* to device */
#define USB_DIR_IN			0x80		/* to host */
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: