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 SAM RH71 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 |
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. |
The following applications are provided to demonstrate the typical or interesting usage models of one or more peripheral libraries.
Name | Description |
---|---|
Cache maintenance | This example shows cache maintenance operation by cleaning and invalidating the cache for the DMA buffers located in the cacheable SRAM region |
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 |
FLEXCOM SPI EEPROM read write | This example application shows how to use the flexcom module in SPI mode |
FLEXCOM TWI (I2C) EEPROM | This example application shows how to use the flexcom module in TWI mode |
FLEXCOM USART blocking | This example application shows how to use the flexcom module in USART mode |
FLEXCOM USART interrupt | This example application shows how to use the flexcom module in USART mode |
FLEXCOM USART ring buffer | This example application demonstrates how to use the FLEXCOM peripheral in USART ring buffer mode |
HEFC flash read write | This example application demonstrates how to use the HEFC to erase and program the internal Flash memory |
HSDRAMC read write | This example application demonstrates how to configure the HSDRAM interface to write and read from the SDRAM memory |
MCAN FD blocking | This example shows how to use the MCAN module to transmit and receive CAN FD messages in polling mode |
MCAN FD interrupt | This example shows how to use the MCAN module to transmit and receive CAN FD messages in interrupt mode |
MCAN blocking | This example shows how to use the MCAN module to transmit and receive CAN messages in polling mode |
MPU cache coherency | This example shows how to maintain cache coherency by allocating DMA buffers in non-cacheable SRAM region defined by MPU |
PIO interrupt | This example shows how to generate GPIO interrupt on switch press and release, and indicate the switch status using the LED |
PIO polling | This example shows how to poll the switch input, and indicate the switch status using the LED |
PWM Generation | This example shows how to use the PWM peripheral to generate 3-phase PWM signals with dead time |
RTC alarm interrupt | This example shows how to use the RTC to configure the time and generate the alarm |
RTT periodic interrupt | This example shows how to use the RTT to generate periodic interrupts |
Systick periodic interrupt | This example shows how to use the SysTick to generate periodic interrupts |
TC capture mode | This example shows how to use the TC module in capture mode to measure duty cycle and frequency of an external input |
TC compare mode | This example shows how to use the TC module in compare mode to generate an active low, active high, and toggle output on compare match |
TC timer mode | This example shows how to use the TC module in timer mode to generate periodic interrupt |
TCM cache coherency | This example shows how to maintain cache coherency by allocating the DMA buffers in the Tightly Coupled Memory (TCM), which are not cacheable |
TRNG random number | This example shows how to use the TRNG Peripheral library to generate and read a random number |
XDMAC memory transfer | This example shows how to use the XDMAC peripheral to do a memory to memory transfer and illustrates the usage of burst size to reduce the transfer time |
[]() []()