Harmony 3 peripheral library application examples for PIC32MK 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 PIC32MK 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 DMA | This example application shows how to sample an analog input using the ADCHS peripheral in DMA mode and displays the converted samples on a serial terminal |
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 |
CAN FD blocking | This example application shows how to use the CAN module to transmit and receive CAN FD messages in polling mode |
CAN FD interrupt | This example application shows how to use the CAN module to transmit and receive CAN FD messages in interrupt mode |
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 |
DAC waveform generation | This example application shows how to use the CDAC to generate a 1 KHz sinusoidal waveform |
DAC waveform generation with DMA | This example application shows how to use the CDAC with the DMA to generate a 1 KHz sinusoidal waveform without CPU intervention |
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 |
CORETIMER periodic interrupt | This example application shows how to use the CoreTimer to generate periodic interrupts |
DMAC memory transfer | This example application demonstrates how to use the DMAC peripheral to do a memory to memory transfer |
EEPROM read write | This example application demonstrates how to use the EEPROM peripheral library |
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 temperature sensor | This example application demonstrates how to use I2C peripheral to read temperature value from temperature sensor device |
ICAP capture mode | This example application shows how to use the ICAP peripheral to measure the pulse width of the input signal |
MCPWM channels | This example demonstrates how to use the MCPWM peripheral to generate PWM signals |
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 |
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 auto-baud | This example application demonstrates how to use auto-baud feature of UART peripheral |
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 |