Harmony 3 peripheral library application examples for SAM9X60 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 SAM9X60 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 low power | This example application shows the different low power sleep modes available with Fast Wake up either enabled or disabled |
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 |
CAN blocking | This example application shows how to use the CAN module to transmit and receive CAN messages in polling mode |
CAN interrupt | This example application shows how to use the CAN module to transmit and receive CAN messages in interrupt mode |
CAN interrupt with timestamp | This example application shows how to use the CAN module to transmit and receive CAN messages in interrupt 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 |
Low power modes | This example application shows how to enter low power modes of SAM9X60 MPU |
DBGU blocking | This example application demonstrates how to use the DBGU peripheral to transfer a block of data in a blocking manner |
DBGU Interrupt | This example application demonstrates how to use the DBGU peripheral to transfer a block of data in a non-blocking manner |
DBGU ring buffer | This example application shows how to use DBGU peripheral in ring buffer mode |
FLEXCOM SPI EEPROM read write | This example application shows how to use the flexcom module in SPI mode |
FLEXCOM SPI self loopback dma | This example application shows how to use the FLEXCOM SPI peripheral with DMA to transmit and receive a block of data |
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 shows how to use the FLEXCOM peripheral in USART ring buffer mode |
OTPC read write (emulation) | This example application shows how to use the OTPC Peripheral library to perform OTP operations |
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 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 |
PIT64B periodic interrupt | This application shows how to use PIT64B counter in interrupt mode |
PWM channels | This example demonstrates how to use the PWM peripheral to generate PWM signals |
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 |
RTT alarm interrupt | This example application shows how to use the RTT to generate alarm interrupt |
RTT periodic interrupt | This example application shows how to use the RTT to generate periodic interrupts |
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 |
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 |