Harmony 3 peripheral library application examples for SAMA5D2 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 SAMA5D2 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 automatic window comparison | This example application shows how to sample an analog input in polled mode and send the converted data to console using automatic window comparison of converted values |
ADC Polling | This example application shows how to sample an analog input in polled mode and send the converted data to console |
ADC user sequence | This example application shows how to sample three analog inputs using the user sequencer in software trigger mode and send the converted data to the console |
Cache maintenance | This example application shows how to do 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 |
Low power modes | This example application shows how to enter low power modes of SAMA5D27 MPU |
FLEXCOM SPI EEPROM read write | This example application shows how to use the flexcom module in SPI mode |
FLEXCOM SPI Master read write test application | This is a FLEXCOM SPI Master test application which is provided to demonstrate communication between SPI master and the corresponding SPI slave application available under - apps/flexcom/spi/slave/flexcom_spi_write_read/firmware |
FLEXCOM SPI Slave read write | This example application demonstrates how to use the FLEXCOM SPI peripheral in slave mode |
FLEXCOM TWI (I2C) EEPROM | This example application shows how to use the flexcom module in TWI mode |
FLEXCOM TWI EEPROM emulation | This example application demonstrates how to use the FLEXCOM TWI peripheral in slave 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 flow control | This example application shows how to use the flexcom module in USART flow control mode |
FLEXCOM USART ring buffer | This example application shows how to use the FLEXCOM peripheral in USART ring buffer mode |
MCAN FD interrupt | This example application shows how to use the MCAN module to transmit and receive CAN FD messages in interrupt mode |
MCAN blocking | This example application shows how to use the MCAN module to transmit and receive CAN messages in polling mode |
MCAN interrupt | This example application shows how to use the MCAN module to transmit and receive CAN messages in interrupt mode |
PIO interrupt | This example application shows how to generate GPIO interrupt on switch press and release, and indicate the switch status using the LED |
PIO polling | This example application shows how to poll the switch input, and indicate the switch status using the LED |
PIT periodic interrupt | This example application shows how to use PIT counter in interrupt mode |
PIT polling | This example application shows how to use PIT counter in polling mode |
PIT period change | This example application shows how PIT period can be changed during runtime |
PIT start stop | This example application shows how PIT can be started and stopped at runtime |
PWM synchronous channels | This example application shows how to use the PWM peripheral to generate 3-phase PWM signals with dead time |
QSPI flash read write | This example application 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 |
RSTC interrupt | This example application shows how to use the RSTC peripheral to generate an interrupt instead of generating a reset, when the Reset switch is pressed on board |
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 application shows how to use the RTC to configure the time and generate the alarm |
RXLP wakeup | This example application shows how RXLP can wakeup the device |
SHDWC wakeup | This example application shows how to shutdown and wakeup the device using SHDWC peripheral |
SPI ping pong with DMA | This example application shows how to continuously transmit and receive data over a SPI interface using ping pong buffers with the DMA |
SPI blocking | This example application shows how to use the SPI peripheral to transmit and receive a block of data in a blocking manner |
SPI self loopback dma | This example application shows how to use the SPI peripheral with DMA to transmit and receive a block of data |
SPI interrupt | This example application 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 |
TC capture mode | This example application 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 application 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 application shows how to use the TC module in timer mode to generate periodic interrupt |
TRNG random number | This example application shows how to use the TRNG Peripheral library to generate and read a random number |
TWIHS EEPROM read write | This example application 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 |
UART echo blocking | This example application shows how to use the UART peripheral to transfer a block of data in a blocking manner |
UART echo interrupt | This example application shows how to use the UART peripheral to transfer a block of data in a non-blocking manner |
USART ring buffer | This example application shows how to use USART peripheral in ring buffer mode |
WDT timeout | This example application shows how to generate a Watchdog timer reset by emulating a deadlock |
XDMAC memory transfer | This example application 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 |