AVR XMEGA DMA example.
Copyright (c) 2010-2018 Microchip Technology Inc. and its subsidiaries.
#include <conf_example.h>
#include <string.h>
#include <asf.h>
Functions | |
static void | example_dma_transfer_done (enum dma_channel_status status) |
Callback for DMA transfer complete. More... | |
static void | fill_pattern (uint8_t *buffer, size_t len) |
Fill buffer with a specific pattern. More... | |
int | main (void) |
main function More... | |
static bool | verify_pattern (uint8_t *buffer, size_t len) |
Verify if buffer if filled by the specific pattern generated by the fill_pattern() function. More... | |
Variables | |
static uint8_t | destination [DMA_BUFFER_SIZE] |
Destination buffer to use for DMA transfer. More... | |
static uint8_t | source [DMA_BUFFER_SIZE] |
Source buffer to use for DMA transfer. More... | |
|
static |
Callback for DMA transfer complete.
status | Status of a completed (or failed) DMA transfer |
References destination, DMA_CH_TRANSFER_COMPLETED, gpio_set_pin_low, source, and verify_pattern().
Referenced by main().
|
static |
Fill buffer with a specific pattern.
buffer | Buffer to fill with a specific pattern |
len | Length of the buffer |
Referenced by main().
int main | ( | void | ) |
main function
References board_init(), cpu_irq_enable, destination, dma_channel_enable(), dma_channel_set_burst_length(), dma_channel_set_dest_dir_mode(), dma_channel_set_dest_reload_mode(), dma_channel_set_destination_address(), dma_channel_set_interrupt_level(), dma_channel_set_source_address(), dma_channel_set_src_dir_mode(), dma_channel_set_src_reload_mode(), dma_channel_set_transfer_count(), dma_channel_trigger_block_transfer(), dma_channel_write_config(), dma_enable(), DMA_INT_LVL_LO, dma_set_callback(), example_dma_transfer_done(), fill_pattern(), gpio_set_pin_low, pmic_init(), sleepmgr_init(), source, and sysclk_init().
|
static |
Verify if buffer if filled by the specific pattern generated by the fill_pattern() function.
buffer | Buffer to verify |
len | Length of the buffer |
true | Buffer is equal to specific pattern |
false | Buffer is not equal to specific pattern |
Referenced by example_dma_transfer_done().
|
static |
Destination buffer to use for DMA transfer.
Referenced by dma_channel_set_destination_address(), dma_channel_write_destination(), example_dma_transfer_done(), and main().
|
static |
Source buffer to use for DMA transfer.
Referenced by dma_channel_set_source_address(), dma_channel_set_trigger_source(), dma_channel_write_source(), example_dma_transfer_done(), gfx_draw_char_hugemem(), gfx_mono_draw_char_hugemem(), main(), and wtk_copy_string().