Harmony 3 peripheral library application examples for PIC32MZ EF 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.
- Microchip 32-bit MCUs
- Microchip 32-bit MPUs
- Microchip MPLAB X IDE
- Microchip MPLAB® Harmony
- Microchip MPLAB® Harmony Pages
This repository contains the MPLAB® Harmony 3 peripheral library application examples for PIC32MZ EF 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 |
---|---|
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 |
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 |
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 |
CAN blocking | This example application shows how to use the CAN module to transmit and receive normal CAN messages in polling mode |
CAN interrupt | This example application shows how to use the CAN module to transmit and receive normal CAN messages in interrupt mode |
Clock configuration | This 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 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 |
CORETIMER periodic interrupt | This example application shows how to use the CoreTimer to generate periodic interrupts |
DMAC CRC-32 Generation | This example application demonstrates how to use the DMAC peripheral to compute 32-bit Cyclic Redundancy Checksum (CRC) |
DMAC memory transfer | This example application demonstrates how to use the DMAC peripheral to do a memory to memory transfer |
DMAC usart echo | This example application demonstrates USART transfer with DMA to receive 10 bytes and echo back the received bytes |
DMAC usart echo using Pattern Matching | This example application demonstrates USART echo using DMA pattern matching feature |
DMT timeout | This example application shows how the deadman timer resets by not clearing the deadman timer counter on switch press |
EBI SRAM read write | This example application demonstrates how to use the EBI peripheral to write and read from the SRAM |
GPIO interrupt | This example application demonstrate how to generate GPIO interrupt on switch press and release, and indicate the switch status using the LED |
GPIO Polling | This example application demonstrate how to poll the switch input, and indicate the switch status using the LED |
ICAP capture mode | This example application shows how to use the ICAP peripheral to measure the pulse width of the input signal |
NVM flash read write | This example application demonstrates how to use the NVM to erase and program the internal Flash memory |
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 |
Low Power Modes | This example application demonstrates how to use different low power modes of the device |
RNG random number | This example application shows how to use the RNG Peripheral library to generate a pseudo-random number |
RTCC alarm interrupt | This example application shows how to use the RTCC to configure the time and generate the alarm |
SPI ping pong with DMA | This example demonstrates how to continuously transmit and receive data over a SPI interface using contiguous ping pong buffers with DMA |
SPI ping pong with DMA Chaining | This example demonstrates how to continuously transmit and receive data over a SPI interface using ping pong buffers with DMA in chain mode |
SPI blocking | This example application demonstrates how to use the SPI peripheral to transmit and receive a block of data in a blocking manner |
SPI interrupt | This example application demonstrates how to use the SPI peripheral to transmit and receive a block of data using interrupt |
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 |
TMR periodic interrupt | This example demonstrates how to use the TMR module in timer mode to generate periodic interrupt |
TMR1 periodic interrupt | This example demonstrates how to use the TMR1 module in timer mode to generate periodic interrupt |
UART echo blocking | This example application demonstrates how to use the UART peripheral to transfer a block of data in a blocking manner |
UART echo interrupt | This example application demonstrates how to use the UART peripheral to transfer a block of data in a non-blocking manner |
UART ring buffer | This example application demonstrates how to use the UART peripheral in ring buffer mode |
WDT timeout | This example application shows how the watchdog timer resets by not feeding the watchdog on switch press |