1 MPLAB Harmony v3 Driver Features
Asynchronous and Synchronous Driver Modes
- Asynchronous Mode
- Non-blocking Application Program Interfaces (APIs).
- Allows queuing of multiple requests. Each instance of an Asynchronous driver has a dedicated queue.
- Works seamlessly in bare-metal and RTOS environment.
- Interrupt and thread-safe.
- Synchronous Mode
- Blocking APIs
- Support only RTOS environment
- Interrupt and thread-safe
Multiple Client Support
This feature seamlessly handle client-specific differences. Both Synchronous and Asynchronous drivers allow multiple clients to a driver instance. For example, there can be multiple application clients to a SPI driver instance having multiple SPI slaves. The SPI slave specific information, such as clock phase, clock polarity, clock speed, and chip select are all handled by the SPI driver based on the client that submitted the request.
Multiple Instance Support
This feature seamlessly handles the multiple instances of a peripheral. For example, there may be three instances of SPI: SPI0, SPI1, and SPI2. The SPI driver manages three peripheral instances by creating three driver instances and attaching a client to each of them.
Cache Management
Drivers manage cache-related operations on parts (for example, on PIC32MZ, SAME70, and SAMV71) that have a data cache, thereby simplifying the application development.