1 Harmony 3 Peripheral Library Application Examples for SAM C20/C21 Family
The following applications are provided to demonstrate the typical or interesting usage
models of one or more peripheral libraries.
Name | Description |
---|---|
AC PWM Generation | This example application shows how to use the Analog Comparator Peripheral library to generate a 1 kHz PWM waveform |
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 at the end of a successful comparison |
ADC DMA Sleepwalking | This application shows how to configure the ADC in a sleepwalking operation, where the input voltage is measured at a fixed interval, and then the device is woken from sleep after conversion of 16 samples |
ADC Sample | This example application shows how to sample an analog input using the ADC and displays the converted samples on a serial terminal |
ADC Window Sleepwalking | This application shows how to configure ADC in a sleepwalking operation, where input voltage is measured at a fixed interval, but device is not woken from sleep until the measured value is below a given threshold |
CAN Blocking | This example application shows how to use the CAN module to transmit and receive normal CAN messages in polling mode |
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 |
CCL Manchester Encoder | This example application shows how to use the CCL peripheral library and generate a Manchester-encoded output |
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 |
DAC Waveform Generation | This example application shows how to use the DAC to generate a 1 kHz Sine or Sawtooth wave with a lookup table |
DAC Waveform Generation with DMA | This example application shows how to use the DAC with the DMA to generate a 5 kHz sinusoidal waveform without CPU intervention |
DIVAS Accelerate Computations | This example application demonstrates how to use the DIVAS accelerator to compute square room, and perform a division and modulus operation |
DIVAS Override C Division Operator | This example application demonstrates how to override C division operator and modulus operator to use the DIVAS accelerator |
DMAC Memory Transfer | This example application demonstrates how to use the DMAC peripheral to do a memory to memory transfer |
DMAC USART Echo | This example application demonstrates USART transfer with DMA to receive 10 bytes and echo back the received bytes |
DSU Compute CRC32 | 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 |
FREQM Measurement | This example application demonstrates how to use the FREQM peripheral to measure the frequency of the internal RC Oscillator |
NVMCTRL Flash Read While Write (RWW) | This example application demonstrates code execution from the main Flash memory while performing erase operation in read-while-write section |
NVMCTRL Read Write | This example application demonstrates how to use the NVMCTRL to erase and program the internal Flash memory |
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 |
SDADC Sample | This example application shows how to sample an analog input using SDADC and displays the converted samples on a serial terminal |
SERCOM I2C EEPROM Emulation (I2C Client) | This example application demonstrates how to use the SERCOM peripheral in client mode |
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 Blocking | This example application demonstrates how to use the SERCOM SPI peripheral to transmit and receive a block of data in a blocking manner |
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 SPI Ping Pong with DMA | This example demonstrates how to continuously transmit and receive data over a SPI interface using ping pong buffers with DMA |
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 LIN Host | This example application demonstrates how to use the SERCOM USART peripheral in LIN Host mode |
SERCOM USART LIN Client | This example application demonstrates how to use the SERCOM USART peripheral in LIN Client mode |
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 |
SERCOM USART Start of Frame (SOF) interrupt | This example application demonstrates how to use the SERCOM peripheral in USART ring buffer mode with SoF to wake-up device from sleep mode |
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 |
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 |
TSENS Temperature Measurement | This example application shows how to measure operating temperature of the device using the TSENS peripheral and displays the measured temperature on a serial terminal. |
WDT Timeout | This example shows how to generate a Watchdog timer reset by emulating a deadlock |