1 Harmony 3 Peripheral Library Application Examples for PIC32MZ DA Family

MPLAB® Harmony 3 is an extension of the MPLAB® ecosystem for creating embedded firmware solutions for Microchip 32-bit SAM and PIC® microcontroller and microprocessor devices. Refer to the following links for more information.

This repository contains the MPLAB® Harmony 3 peripheral library application examples for PIC32MZ DA family:

To clone or download these applications from Github, go to the main page of this repository and then click Clone button to clone this repository or download as zip file. This content can also be downloaded using content manager by following these instructions.

Contents Summary

Folder Description
apps Contains peripheral library example applications
docs Contains documentation in html format for offline viewing (to be used only after cloning this repository onto a local machine). Use github pages of this repository for viewing it online

Code Examples

The following applications are provided to demonstrate the typical or interesting usage models of one or more peripheral libraries.

Name Description
1.1 ADCHS Interrupt This example application shows how to sample an analog input using the ADCHS peripheral and displays the converted samples on a serial terminal
1.2 ADCHS Polling This example application shows how to sample an analog input using the ADCHS peripheral and displays the converted samples on a serial terminal
1.3 Cache Maintenance Operations This example demonstrates the cache maintenance operation by cleaning and invalidating the cache for the DMA buffers located in the cacheable SRAM region
1.4 CMP Configurable Reference This example application shows how to use the CMP Peripheral library to compare voltage level on the negative input with the internal configurable reference voltage
1.5 CORETIMER Periodic Interrupt This example application shows how to use the CoreTimer to generate periodic interrupts
1.6 DMAC Memory Transfer This example application demonstrates how to use the DMAC peripheral to do a memory to memory transfer
1.7 DMAC USART Echo This example application demonstrates USART transfer with DMA to receive 10 bytes and echo back the received bytes
1.8 DMT Timeout This example application shows how the deadman timer resets by not clearing the deadman timer counter on switch press
1.9 GPIO Interrupt This example application demonstrate how to generate GPIO interrupt on switch press and release, and indicate the switch status using the LED
1.10 GPIO Polling This example application demonstrate how to poll the switch input, and indicate the switch status using the LED
1.11 I2C EEPROM Read Write This example application demonstrates how to use the I2C peripheral to write and read from the I2C serial EEPROM memory
1.12 ICAP Capture Mode This example application shows how to use the ICAP peripheral to measure the pulse width of the input signal
1.13 NVM Flash Read Write This example application demonstrates how to use the NVM to erase and program the internal Flash memory
1.14 OCMP Compare Mode This example application shows how to use the OCMP peripheral to generate an active low, active high, and toggle output on compare match
1.15 RNG Random Number This example application shows how to use the RNG Peripheral library to generate a pseudo-random number
1.16 RTCC Alarm Interrupt This example application shows how to use the RTCC to configure the time and generate the alarm
1.17 SPI Blocking This example application demonstrates how to use the SPI peripheral to transmit and receive a block of data in a blocking manner
1.18 SPI Interrupt This example application demonstrates how to use the SPI peripheral to transmit and receive a block of data using interrupt
1.19 SQI Flash Read Write This example application demonstrates how to use the SQI Peripheral library to perform erase, write and read operation with the SQI Serial Flash memory
1.20 TMR Periodic Interrupt This example demonstrates how to use the TMR module in timer mode to generate periodic interrupt
1.21 TMR1 Periodic Interrupt This example demonstrates how to use the TMR1 module in timer mode to generate periodic interrupt
1.22 UART Echo Blocking This example application demonstrates how to use the UART peripheral to transfer a block of data in a blocking manner
1.23 UART Echo Interrupt This example application demonstrates how to use the UART peripheral to transfer a block of data in a non-blocking manner
1.24 UART Ring Buffer This example application demonstrates how to use the UART peripheral in ring buffer mode
1.25 WDT Timeout This example application shows how the watchdog timer resets by not feeding the watchdog on switch press