USBD ROM Stack
2.0
ROM based USB device stack
|
#include <C:/Data/nxp/GIT/lpcopen_v3/lpcopen_version3/LPC43xx_18xx/lpc43xx_18xx/LPC_USBD_Lib/mw_usbd/mw_usbd.h>
Data Fields | |
uint8_t | bLength |
uint8_t | bDescriptorType |
uint8_t | bEndpointAddress |
uint8_t | bmAttributes |
uint16_t | wMaxPacketSize |
uint8_t | bInterval |
USB Standard Endpoint Descriptor
uint8_t USB_ENDPOINT_DESCRIPTOR::bLength |
Size of this descriptor in bytes
uint8_t USB_ENDPOINT_DESCRIPTOR::bDescriptorType |
ENDPOINT Descriptor Type
uint8_t USB_ENDPOINT_DESCRIPTOR::bEndpointAddress |
The address of the endpoint on the USB device described by this descriptor. The address is encoded as follows:
Bit 3...0: The endpoint number
Bit 6...4: Reserved, reset to zero
Bit 7: Direction, ignored for control endpoints 0 = OUT endpoint 1 = IN endpoint.
uint8_t USB_ENDPOINT_DESCRIPTOR::bmAttributes |
This field describes the endpoint’s attributes when it is configured using the bConfigurationValue.
Bits 1..0: Transfer Type
uint16_t USB_ENDPOINT_DESCRIPTOR::wMaxPacketSize |
Maximum packet size this endpoint is capable of sending or receiving when this configuration is selected.
For isochronous endpoints, this value is used to reserve the bus time in the schedule, required for the per-(micro)frame data payloads. The pipe may, on an ongoing basis, actually use less bandwidth than that reserved. The device reports, if necessary, the actual bandwidth used via its normal, non-USB defined mechanisms.
For all endpoints, bits 10..0 specify the maximum packet size (in bytes).
For high-speed isochronous and interrupt endpoints:
Bits 12..11 specify the number of additional transaction opportunities per microframe:
uint8_t USB_ENDPOINT_DESCRIPTOR::bInterval |
Interval for polling endpoint for data transfers. Expressed in frames or microframes depending on the device operating speed (i.e., either 1 millisecond or 125 µs units).