PIO Capture Example.
Copyright (c) 2011-2018 Microchip Technology Inc. and its subsidiaries.
#include <asf.h>
#include "pio_handler.h"
Macros | |
#define | PIO_CAPTURE_CCLK_IDX PIO_PA23_IDX |
Configure the PIO capture pins that send out data simulating as a sensor. More... | |
#define | PIO_CAPTURE_CONTROL_PIN_MSK ((1 << 15) | (1 << 16) | (1 << 23)) |
#define | PIO_CAPTURE_DATA_PINS_MASK (0x000000FF) |
#define | PIO_CAPTURE_DATA_POS (0) |
Data offset position. More... | |
#define | PIO_CAPTURE_EN1_IDX PIO_PA15_IDX |
#define | PIO_CAPTURE_EN2_IDX PIO_PA16_IDX |
#define | PIO_CAPTURE_OUTPUT_PIN_FLAGS (PIO_OUTPUT_0 | PIO_DEFAULT) |
#define | PIO_IRQ_PRI (4) |
PIOA interrupt priority. More... | |
#define | SIZE_BUFF_RECEPT (64) |
Buffer size. More... | |
#define | STRING_EOL "\r" |
#define | STRING_HEADER |
Functions | |
static void | capture_handler (Pio *p_pio) |
Handler for capture function interrupt. More... | |
static void | configure_console (void) |
Configure UART for debug message output. More... | |
int | main (void) |
pio_capture Application entry point. More... | |
Variables | |
volatile uint8_t | g_uc_cbk_received = 0 |
Test if a callback is received. More... | |
Pdc * | p_pdc |
Pointer to PDC register base. More... | |
pdc_packet_t | packet_t |
PDC data packet. More... | |
uint8_t | pio_rx_buffer [SIZE_BUFF_RECEPT] |
PIO receive buffer. More... | |
#define PIO_CAPTURE_CCLK_IDX PIO_PA23_IDX |
Configure the PIO capture pins that send out data simulating as a sensor.
Referenced by main().
#define PIO_CAPTURE_CONTROL_PIN_MSK ((1 << 15) | (1 << 16) | (1 << 23)) |
Referenced by main().
#define PIO_CAPTURE_DATA_PINS_MASK (0x000000FF) |
Referenced by main().
#define PIO_CAPTURE_DATA_POS (0) |
Data offset position.
Referenced by main().
#define PIO_CAPTURE_EN1_IDX PIO_PA15_IDX |
Referenced by main().
#define PIO_CAPTURE_EN2_IDX PIO_PA16_IDX |
Referenced by main().
#define PIO_CAPTURE_OUTPUT_PIN_FLAGS (PIO_OUTPUT_0 | PIO_DEFAULT) |
Referenced by main().
#define PIO_IRQ_PRI (4) |
PIOA interrupt priority.
Referenced by main().
#define SIZE_BUFF_RECEPT (64) |
Buffer size.
Referenced by capture_handler(), and main().
#define STRING_EOL "\r" |
#define STRING_HEADER |
Referenced by main().
|
static |
Handler for capture function interrupt.
References g_uc_cbk_received, p_pdc, pdc_disable_transfer(), pio_rx_buffer, and SIZE_BUFF_RECEPT.
Referenced by main().
|
static |
Configure UART for debug message output.
References uart_rs232_options::baudrate, stdio_serial_init(), and sysclk_enable_peripheral_clock().
Referenced by main().
int main | ( | void | ) |
pio_capture Application entry point.
References board_init(), capture_handler(), configure_console(), delay_us, g_uc_cbk_received, NULL, p_pdc, pdc_enable_transfer(), pdc_rx_init(), PIO_CAPTURE_CCLK_IDX, PIO_CAPTURE_CONTROL_PIN_MSK, PIO_CAPTURE_DATA_PINS_MASK, PIO_CAPTURE_DATA_POS, PIO_CAPTURE_EN1_IDX, PIO_CAPTURE_EN2_IDX, PIO_CAPTURE_OUTPUT_PIN_FLAGS, pio_configure_pin_group(), pio_disable_interrupt(), pio_enable_output_write(), PIO_IRQ_PRI, pio_rx_buffer, pio_set_pin_high(), pio_set_pin_low(), pio_sync_output_write(), pmc_enable_periph_clk(), SIZE_BUFF_RECEPT, STRING_HEADER, sysclk_get_cpu_hz(), sysclk_init(), uart_read(), pdc_packet::ul_addr, and pdc_packet::ul_size.
volatile uint8_t g_uc_cbk_received = 0 |
Test if a callback is received.
Referenced by capture_handler(), and main().
Pdc* p_pdc |
Pointer to PDC register base.
Referenced by capture_handler(), and main().
pdc_packet_t packet_t |
PDC data packet.
uint8_t pio_rx_buffer[SIZE_BUFF_RECEPT] |
PIO receive buffer.
Referenced by capture_handler(), and main().