Microchip’s MPLAB® Harmony USB software includes royalty-free source code and example projects. It provides support for USB device mode, embedded host, and On-The-Go (OTG) for PIC32 microcontrollers.
USB Device Library
The MPLAB Harmony USB Device Library (referred to as the USB Device Library) provides embedded application developers with a framework to design and develop a wide variety of USB Devices. A choice of full speed only or full speed and hi-speed USB operations are available, depending on the selected PIC32 microcontroller. The USB Device Library facilitates the development of standard USB devices through function drivers that implement standard USB device class specification. Vendor USB devices can also be implemented via USB Device Layer Endpoint functions. The USB Device Library is modular, thus allowing application developers to readily design composite USB devices. The USB Device Library is a part of the MPLAB Harmony installation and is accompanied by demonstration applications that highlight library usage. These demonstrations can also be modified or updated to build custom applications.
The USB Device Library features the following:
- Support for different USB device classes (CDC, Audio, HID, MSD, and Vendor)
- Supports multiple instances of the same class in a composite device
- Supports multiple configurations at different speeds
- Supports full speed and high-speed operation
- Supports multiple USB peripherals (allows multiple device stacks)
- Modular and Layered architecture
- Supports deferred control transfer responses
- Completely non-blocking
- Supports both polled and interrupt operations
- Works readily in a Real-Time Operating System (RTOS) environment
USB Host Library
The MPLAB Harmony USB Host Library (referred to as the USB Host Library) provides embedded application developers with a framework to design and develop USB host support for a wide variety of USB device classes. A choice of full speed only or full speed and high-speed USB operations are available, depending on the selected PIC32 microcontroller. The USB Host Library facilitates support of standard USB devices through class drivers that implement standard USB device class specification. Support for custom USB devices can also be implemented via a generic class driver. The USB Host Library is modular, thus allowing application developers to readily support composite USB devices. The USB Host Library is a part of the MPLAB Harmony installation and is accompanied by demonstration applications that highlight library usage. These demonstrations can also be modified or updated to build custom applications.
The USB Host Library features the following:
- Class Driver Support (CDC, Audio, HID, MSD, and Generic)
- Designed to support USB devices with multiple configurations at a different speed
- Supports low speed, full speed, and high-speed operation.
- Supports multiple USB peripherals (allows multiple host stacks)
- Modular and Layered architecture
- Completely non-blocking
- Supports both polled and interrupt operation.
- Works readily in an RTOS environment.
- Designed to readily integrate with other Harmony Middleware