1 Harmony 3 Peripheral Library Application Examples PIC32CZ CA70 Family
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 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 | 
| AFEC with DMA | This example uses AFEC peripheral Library to sample multiple ADC channels using DMA striding | 
| 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 look up 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 Blocking | This example shows how to use the MCAN module to transmit and receive CAN messages in polling mode | 
| 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 | 
| 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 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 | 
| 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 | 
| 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 Blocking | This example shows how to use the SPI peripheral to transmit and receive a block of data in a blocking manner | 
| SPI EEPROM Write Read | This example shows how to use the SPI peripheral to write and read from the SPI serial EEPROM memory | 
| SPI Interrupt | This example shows how to use the SPI peripheral to transmit and receive a block of data using interrupts | 
| 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 | 
| 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 Emulation | This example application demonstrates how to use the TWIHS peripheral in client mode | 
| TWIHS EEPROM Read Write | This example shows how to use the TWIHS peripheral to write and read from the I2C serial EEPROM memory | 
| UART Blocking | This example shows how to use the UART peripheral to transfer a block of data in a blocking manner | 
| UART Interrupt | This example shows how to use the UART peripheral to transfer a block of data in a non-blocking manner | 
| UART Ring Buffer | This example shows how to use the UART 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 | 
