CMSIS Driver  Version 1.10 - Preliminary
Middleware Driver API for microcontroller peripherals
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
USB Interface

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

Content

 USB Device Interface
 Driver API for USB Device Peripheral (Driver_USBD.h)
 
 USB Host Interface
 Driver API for USB Host Peripheral (Driver_USBH.h)
 

Enumerations

enum  ARM_USB_ENDPOINT_TYPE {
  ARM_USB_ENDPOINT_CONTROL,
  ARM_USB_ENDPOINT_ISOCHRONOUS,
  ARM_USB_ENDPOINT_BULK,
  ARM_USB_ENDPOINT_INTERRUPT
}
 USB Endpoint Type. More...
 

Description

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.

USB Structure

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.

USB_Schematics.png
Simplified USB Schema

USB API

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 Driver Functions

A typical setup sequence for the driver is shown below:

Example Code:


Enumeration Type Documentation

USB Endpoint Type.

Provides values for common Endpoint types used by the Device and Host Driver.

Parameter for:

Enumerator:
ARM_USB_ENDPOINT_CONTROL 

Control Endpoint.

ARM_USB_ENDPOINT_ISOCHRONOUS 

Isochronous Endpoint.

ARM_USB_ENDPOINT_BULK 

Bulk Endpoint.

ARM_USB_ENDPOINT_INTERRUPT 

Interrupt Endpoint.