;; Endpoint Descriptor
db DSCR_ENDPNT_LEN ;; Descriptor length
db DSCR_ENDPNT ;; Descriptor type
db 02H ;; Endpoint number, and direction
db ET_BULK ;; Endpoint type
db 00H ;; Maximun packet size (LSB)
db 02H ;; Max packect size (MSB)
db 00H ;; Polling interval
端点描述符有6个字段,共7字节。和接口描述符一样,也不能由主机通过发送GetDedcription()请求读取,只能作为配置信息case GD_CONFIGURATION的一部分返回给主机。
【1】db DSCR_ENDPNT_LEN ――bLength段
该描述符长度,单位字节。
【2】db DSCR_ENDPNT――bDescriptorType段
该描述符类型。
【3】db 02H ――bEndpointAddress段
指明端点的端点号及传输方向。
b0~b3:该端点的端点号。如0001端点1,0010端点2;
b4~b6::保留,必须为0
b7:端点传输方向。1-IN传输;0-OUT传输
【4】db ET_BULK――bmAttributes段
指明端点的一些特性。
b0~b1:端点的传输类型。00-控制传输,01-同步传输,10-块传输,11-中断传输
b2~b3:当该端点为同步端点时,这两位指出同步类型。00-非同步,01-异步,10-自适应,11-同步
b4~b5:端点用法类型。00-数据端点,01-显示反馈端点,10-隐式反馈端点,11-保留
b6~b7:保留,必须为0
【5】db 00H――wMaxpacketSize段(LSB)
指明端点所支持的最大数据包长度,共16位。
b0~b10:端点所支持的最大数据包长度。
b11~b12:当该端点为高速中断端点或同步端点时,这两位指出每小帧中最多传输的事务数。00-每小帧1次(默认),01-每小帧2次(附加一次),10-每小帧3次(附加2次),11-保留。
b13~b15:保留,必须为0
【5】db 02H――wMaxpacketSize段(MSB)
高8位。数据包大小为:0000 0010 0000 0000,取0~10位,还是0200,512字节。
【6】db 00H――bInterval段
指明端点数据传输的访问间隔。
低速中断端点:=10~255ms.
全速中断端点:=1~255ms
高速中断端点:=1~16,访问间隔为2(bInterval-1)(幂)×1us
全速/高速同步端点:=1~16,访问间隔为2(bInterval-1)(幂)×1ms 和2(bInterval-1)(幂)×1us
高速块/控制out端点:指明其最大NAK握手包发送速率。
=0,表示该端点永远不会发出NAK握手包
=其他值,表示每个bInterval时间内,该端点最多只能发送一次NAK握手包。
其他类型端点:该字段无效。