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.
NameDescription
AC PWM GenerationThis example application shows how to use the Analog Comparator Peripheral library to generate a 1 kHz PWM waveform
AC SleepwalkingThis 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 SleepwalkingThis 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 SampleThis example application shows how to sample an analog input using the ADC and displays the converted samples on a serial terminal
ADC Window SleepwalkingThis 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 BlockingThis example application shows how to use the CAN module to transmit and receive normal CAN messages in polling mode
CAN FD BlockingThis example application shows how to use the CAN module to transmit and receive CAN FD messages in polling mode
CAN FD InterruptThis example application shows how to use the CAN module to transmit and receive CAN FD messages in interrupt mode
CCL Manchester EncoderThis example application shows how to use the CCL peripheral library and generate a Manchester-encoded output
Clock ConfigurationThis 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 GenerationThis 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 DMAThis example application shows how to use the DAC with the DMA to generate a 5 kHz sinusoidal waveform without CPU intervention
DIVAS Accelerate ComputationsThis example application demonstrates how to use the DIVAS accelerator to compute square room, and perform a division and modulus operation
DIVAS Override C Division OperatorThis example application demonstrates how to override C division operator and modulus operator to use the DIVAS accelerator
DMAC Memory TransferThis example application demonstrates how to use the DMAC peripheral to do a memory to memory transfer
DMAC USART EchoThis example application demonstrates USART transfer with DMA to receive 10 bytes and echo back the received bytes
DSU Compute CRC32This example application demonstrates how to use the DSU Peripheral library to compute 32-bit Cyclic Redundancy Checksum (CRC)
EIC InterruptThis example application demonstrates how to generate interrupt using the EIC on switch press and indicate it through an LED
EVSYS TriggerThis example application demonstrates how to use the EVSYS Peripheral library to setup autonomous, low-latency and configurable communication between peripherals
FREQM MeasurementThis 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 WriteThis example application demonstrates how to use the NVMCTRL to erase and program the internal Flash memory
PM Wakeup Using EICThis application demonstrates entering the low power modes and exiting it using the EIC
PM Wakeup Using RTCThis example demonstrates entering the low power modes and exiting it using the RTC
PORT PollingThis example application demonstrate how to poll the switch input, and indicate the switch status using the LED
RSTC Reset CauseThis example shows how to use the RSTC peripheral to indicate the cause of the device reset
RTC Alarm InterruptThis example shows how to use the RTC to configure the time and generate the alarm
RTC Periodic InterruptThis example application shows how to use the RTC to generate periodic interrupts
SDADC SampleThis 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 WriteThis example application demonstrates how to use the SERCOM peripheral to write and read from the I2C serial EEPROM memory
SERCOM SPI BlockingThis 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 WriteThis example application demonstrates how to use the SERCOM SPI peripheral to write and read from the SPI serial EEPROM memory
SERCOM SPI InterruptThis 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 DMAThis example demonstrates how to continuously transmit and receive data over a SPI interface using ping pong buffers with DMA
SERCOM USART BlockingThis example application demonstrates how to use the SERCOM peripheral in USART mode to transfer block of data in a blocking manner
SERCOM USART InterruptThis example application demonstrates how to use the SERCOM peripheral in USART mode to transfer data in a non-blocking manner
SERCOM USART LIN HostThis example application demonstrates how to use the SERCOM USART peripheral in LIN Host mode
SERCOM USART LIN ClientThis example application demonstrates how to use the SERCOM USART peripheral in LIN Client mode
SERCOM USART Ring BufferThis 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) interruptThis 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 InterruptThis example shows how to use the SysTick to generate periodic interrupts
TC Capture ModeThis example shows how to use the TC module in capture mode to measure duty cycle and frequency of an external input
TC Compare ModeThis 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 ModeThis example shows how to use the TC module in timer mode to generate periodic interrupt
TCC PWM GenerationThis 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 MeasurementThis 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 TimeoutThis example shows how to generate a Watchdog timer reset by emulating a deadlock