title: Harmony 3 peripheral library application examples for SAM E70/S70/V70/V71 family nav_order: 1 has_children: true has_toc: false
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 SAM E70/S70/V70/V71 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 |
---|---|
ACC PWM generation | This example uses ACC peripheral Library to generate a PWM waveform with variable duty cycle |
AFEC with DMA | This example uses AFEC peripheral Library to sample multiple ADC channels using DMA striding |
AFEC Polling | This example uses AFEC peripheral library to sample an analog input in polled mode and send the converted data to console |
AFEC user sequence | This example uses AFEC peripheral library to sample three analog inputs using the user sequencer in triggered conversion mode and send the converted data to the console |
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 |
DACC waveform generation | This example shows how to use the DACC peripheral to generate a 5 KHz sine wave or triangle wave using a lookup table |
DACC waveform generation with DMA | This example shows how to use the DAC with the DMA to generate sinusoidal waveform without CPU intervention |
EFC read write | This example shows how to use EFC to erase and program the internal Flash 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 |
QSPI flash read write | This example shows how to use the QSPI Peripheral library to perform erase, write and read operation with the QSPI Serial Flash memory in Quad IO mode |
QSPI flash XIP | This example shows how to setup the QSPI Flash in the XIP mode to execute code from the serial Flash memory |
QSPI flash XIP Function | This example shows how to setup the QSPI Flash in the XIP mode to call a function placed in QSPI Flash memory |
QSPI flash read write in SPI mode | This example shows how to use the QSPI Peripheral library to perform erase, write and read operation with the QSPI Serial Flash memory in SPI mode |
RSTC interrupt | This example shows how to use the RSTC peripheral to generate an interrupt instead of generating a reset, when the Reset switch is pressed on board |
RSWDT timeout | This example shows how to generate a RSWDT reset by emulating a deadlock |
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 |
SPI EEPROM write read | This example shows how to use the SPI peripheral to write and read from the SPI serial EEPROM memory |
SPI ping pong with DMA | This example shows how to continuously transmit and receive data over a SPI interface using ping pong buffers with the DMA |
SPI blocking | This example shows how to use the SPI peripheral to transmit and receive a block of data in a blocking manner |
SPI interrupt | This example shows how to use the SPI peripheral to transmit and receive a block of data using interrupts |
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 |
SUPC wakeup using RTC | This example shows how to enter different low power modes and exit it using the RTC alarm |
SUPC wakeup using RTT | This example shows how to enter different low power modes and exit it using the RTT alarm |
SUPC wakeup using WKUP pin | his example shows how to enter different low power modes and exit it using WKUP pin |
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 |
TWIHS EEPROM read write | This example shows how to use the TWIHS peripheral to write and read from the I2C serial EEPROM memory |
TWIHS EEPROM emulation | This example application demonstrates how to use the TWIHS peripheral in slave mode |
USART blocking | This example shows how to use the USART peripheral to transfer a block of data in a blocking manner |
USART interrupt | This example shows how to use the USART peripheral to transfer a block of data in a non-blocking manner |
USART ring buffer | This example shows how to use the USART peripheral in ring buffer mode |
WDT timeout | This example shows how to generate a Watchdog timer reset by emulating a deadlock |
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 |