CMSIS-Driver  Version 2.8.0
Peripheral Interface for Middleware and Application Code
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
USB Interface

USB common definitions (Driver_USB.h) More...


 USB Device Interface
 Driver API for USB Device Peripheral (Driver_USBD.h)
 USB Host Interface
 Driver API for USB Host Peripheral (Driver_USBH.h)
 USB Speed
 USB Speed definitions.
 USB Endpoint Type
 USB Endpoint Type definitions.


USB common definitions (Driver_USB.h)

The Universal Serial Bus (USB) implements a serial bus for data exchange. It is a host controlled, plug-and-play interface between a USB host and USB devices using a tiered star topology. In microcontroller (MCU) applications, the interface is often used to connect a device to a host for data exchange or control purposes.

Block Diagram

Typically only one USB Device is connected to a USB Host. If several USB devices must be connected to the same USB host, then the connection must be done via a USB hub.

Simplified USB Schema


The following header files define the Application Programming Interface (API) for the USB interface:

The driver implementation is a typical part of the Device Family Pack (DFP) that supports the peripherals of the microcontroller family.

Driver Functions

The driver functions are published in the access struct as explained in Common Driver Functions