SLAU723A October 2017 – October 2018 MSP432E401Y , MSP432E411Y
This section describes the USB controller when it is being used as a USB device. Before the USB controller's operating mode is changed from device to host or host to device, software must reset the USB controller by setting the USB0 bit in the USB Software Reset (SRUSB) register. IN endpoints, OUT endpoints, entry into and exit from SUSPEND mode, and recognition of Start of Frame (SOF) are all described.
When in device mode, IN transactions are controlled by an endpoint's transmit interface and use the transmit endpoint registers for the given endpoint. OUT transactions are handled with an endpoint's receive interface and use the receive endpoint registers for the given endpoint.
When configuring the size of the FIFOs for endpoints, take into account the maximum packet size for an endpoint.
Bulk endpoints should be the size of the maximum packet (up to 64 bytes) or twice the maximum packet size if double buffering is used (described further in the following section).
Interrupt endpoints should be the size of the maximum packet (up to 64 bytes) or twice the maximum packet size if double buffering is used.
Isochronous endpoints are more flexible and can be up to 1023 bytes.
It is also possible to specify a separate control endpoint for a USB device. However, in most cases the USB device should use the dedicated control endpoint on the USB controller's endpoint 0.