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
PIC32CK-GC/SG 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.
Folder | Description |
---|---|
apps | Contains peripheral library example applications |
The following applications are provided to demonstrate the typical or interesting
usage models of one or more peripheral libraries.
Name | Description |
---|---|
AC Sleepwalking | This example application shows how to use the AC Peripheral library to perform a single shot comparison in standby sleep mode periodically and wake up the device when the comparator output toggles |
ADC Blocking | This example application shows how to use the ADC Peripheral library in blocking mode to convert analog input on a ADC channel |
ADC DMA Scan | This example application shows how to use the ADC Peripheral library in scan mode to convert multiple analog input on a ADC channels and transfer the ADC result using DMA |
ADC Interrupt | This example application shows how to use the ADC Peripheral library in in interrupt mode to convert multiple analog inputs |
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 |
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 |
DMA CRC-32 Generation | This example application demonstrates how to use the DMA peripheral to compute 32-bit Cyclic Redundancy Checksum (CRC) |
DMAC USART Echo | This example application demonstrates USART transfer with DMA to receive 10 bytes and echo back the received bytes |
DMAC Memory Transfer | This example application demonstrates how to use the DMAC peripheral to do a memory to memory transfer |
DSU CRC32 Generate | This example application demonstrates how to use the DSU Peripheral library to compute 32-bit Cyclic Redundancy Checksum (CRC) |
EIC Interrupt | This example application demonstrates how to generate interrupt using the EIC on switch press and indicate it through an LED |
EVSYS Trigger | This example application demonstrates how to use the EVSYS Peripheral library to setup autonomous, low-latency and configurable communication between peripherals |
FCW Read Write | This example application demonstrates how to use the FCW to erase and program the internal Flash memory |
FREQM Measurement | This example application demonstrates how to use the FREQM peripheral to measure the frequency of the internal RC Oscillator |
MPU Cache Coherency | This example shows how to maintain cache coherency by allocating DMA buffers in non-cacheable SRAM region defined by MPU |
PM Wakeup Using EIC | This application demonstrates entering the low power modes and exiting it using the EIC |
PM Wakeup Using RTC | This example demonstrates entering the low power modes and exiting it using the RTC |
PORT Polling | This example application demonstrate how to poll the switch input, and indicate the switch status using the LED |
RSTC Reset Cause | This example shows how to use the RSTC peripheral to indicate the cause of the device reset |
RTC Alarm Interrupt | This example shows how to use the RTC to configure the time and generate the alarm |
RTC Periodic Interrupt | This example application shows how to use the RTC to generate periodic interrupts |
SERCOM I2C EEPROM Read Write | This example application demonstrates how to use the SERCOM peripheral to write and read from the I2C serial EEPROM memory |
SERCOM SPI EEPROM Read Write | This example application demonstrates how to use the SERCOM SPI peripheral to write and read from the SPI serial EEPROM memory |
SERCOM SPI Interrupt | This example application shows how to use SERCOM SPI PLIB with external loop back to write and then read back an array of data in interrupt mode |
SERCOM USART Blocking | This example application demonstrates how to use the SERCOM peripheral in USART mode to transfer block of data in a blocking manner |
SERCOM USART Interrupt | This example application demonstrates how to use the SERCOM peripheral in USART mode to transfer data in a non-blocking manner |
SERCOM USART Ring Buffer | This example application demonstrates how to use the SERCOM peripheral in USART ring buffer mode to transfer data in a non-blocking manner |
SQI Flash Read Write | This example application demonstrates how to use the SQI Peripheral library to perform erase, write and read operation with the on-board SST26 SQI Serial Flash memory |
Secure TCC Demonstration | This example application performs a PWM signal applied on PD20 pin (LED0) based on TCC0 peripheral |
Systick Periodic Interrupt | This example shows how to use the SysTick to generate periodic interrupts |
TCC PWM Generation | This example application shows how to use the TCC to generate a 2 or 3 phase PWM signals for motor control with dead time |
TCC Capture Mode | This example shows how to use the TCC module in capture mode to measure duty cycle and frequency of an external input |
TCC Compare Mode | This example shows how to use the TCC module in compare mode to generate different waveforms |
TCC Timer Mode | This example shows how to use the TCC module in timer mode to generate periodic interrupt |
TRAM Erase On Tamper Detect | This example application shows how to configure and use tamper detect feature of RTC and TrustRam |
TRNG Random Number | This example shows how to use the TRNG Peripheral library to generate and read a random number |
TrustZone Systick Periodic Timeout | This example application shows how to use the SysTick to generate periodic interrupts on both Secure and Non-secure modes |
WDT Timeout | This example shows how to generate a Watchdog timer reset by emulating a deadlock |