1 Harmony 3 peripheral library application examples for PIC32MM 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 PIC32MM 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

FolderDescription
appsContains peripheral library example applications
docsContains 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.

NameDescription
ADC interruptThis example demonstrates how to sample an analog input in interrupt mode and send the converted data to console
CCP Capture ModeThis example shows how to use the CCP module in capture mode to measure pulse width of an input signal
CCP Compare ModeThis example shows how to use the CCP module in compare mode to generate an dual edge, active high, and toggle output on compare match
CCP Timer ModeThis example demonstrates how to use the CCP module in timer mode to generate periodic interrupt
CLC Manchester EncoderThis example application shows how to use the CLC peripheral library and generate a Manchester-encoded output
Clock configurationThis example application shows how to configure the clock system to run the device at maximum frequency. It also outputs a prescaled clock signal on a GPIO pin for measurement and verification
CMP configurable referenceThis example application shows how to use the CMP Peripheral library to compare voltage level on the negative input with the internal configurable reference voltage
CORETIMER periodic interruptThis example application shows how to use the CoreTimer to generate periodic interrupts
CRC-32 GenerationThis example application demonstrates how to use the CRC peripheral to compute 32-bit Cyclic Redundancy Checksum (CRC)
DMAC memory transferThis example application demonstrates how to use the DMAC peripheral to do a memory to memory transfer
DMAC usart echoThis example application demonstrates USART transfer with DMA to receive 10 bytes and echo back the received bytes
GPIO interruptThis example application demonstrate how to generate GPIO interrupt on switch press and release, and indicate the switch status using the LED
I2C EEPROM emulation (I2C Client)This example application demonstrates how to use the I2C peripheral in client mode
I2C EEPROM read writeThis example application demonstrates how to use the I2C peripheral to write and read from the I2C serial EEPROM memory
NVM flash read writeThis example application demonstrates how to use the NVM to erase and program the internal Flash memory
RCON reset handlerThis example shows how to use the RCON peripheral to indicate the cause of the device reset and clear the reset causes
RTCC alarm interruptThis example application shows how to use the RTCC to configure the time and generate the alarm
SPI EEPROM write readThis example application demonstrates how to use the SPI peripheral to write and read from the SPI serial EEPROM memory
SPI interruptThis example application demonstrates how to use the SPI peripheral to transmit and receive a block of data using interrupt
SPI Host read write test applicationThis is a SPI Host test application which is provided to demonstrate communication between SPI host and the corresponding SPI client application available under - apps/spi/slave/spi_write_read/firmware
SPI Client read writeThis example application demonstrates how to use the SPI peripheral in client mode
TMR periodic interruptThis example demonstrates how to use the TMR module in timer mode to generate periodic interrupt
TMR1 periodic interruptThis example demonstrates how to use the TMR1 module in timer mode to generate periodic interrupt
UART echo interruptThis example application demonstrates how to use the UART peripheral to transfer a block of data in a non-blocking manner
UART ring bufferThis example application demonstrates how to use the UART peripheral in ring buffer mode
WDT timeoutThis example application shows how the watchdog timer resets by not feeding the watchdog on switch press