Harmony 3 peripheral library application examples for PIC32MX 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 PIC32MX 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 |
---|---|
ADC interrupt | This example demonstrates how to sample an analog input in interrupt mode and send the converted data to console |
ADC polling | This example demonstrates how to sample an analog input in polled mode and send the converted data to console |
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 |
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 |
I2C EEPROM read write | This example application demonstrates how to use the I2C peripheral to write and read from the I2C serial EEPROM memory |
I2C EEPROM emulation (I2C slave) | This example application demonstrates how to use the I2C peripheral in slave mode |
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 |
RCON reset handler | This example shows how to use the RCON peripheral to indicate the cause of the device reset and clear the reset causes |
RTCC alarm interrupt | This example application shows how to use the RTCC to configure the time and generate the alarm |
SPI EEPROM write read | This example application demonstrates how to use the SPI peripheral to write and read from the SPI serial EEPROM memory |
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 |
SPI Master read write test application | This is a SPI Master test application which is provided to demonstrate communication between SPI master and the corresponding SPI slave application available under - apps/spi/slave/spi_write_read/firmware |
SPI Slave read write | This example application demonstrates how to use the SPI peripheral in slave mode |
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 |