Microchip® Advanced Software Framework

qs_i2s_callback.c File Reference

SAM I2S - Inter-IC Sound Controller Callback Driver Quick Start.

Copyright (c) 2014-2018 Microchip Technology Inc. and its subsidiaries.

#include <asf.h>
#include <conf_i2s_quick_start_callback.h>

Functions

static void _configure_i2s (void)
 [callback_funcs] More...
 
static void _configure_i2s_callbacks (void)
 
static void _i2s_callback_to_send_buffer (struct i2s_module *const module_inst)
 [data_buffer] More...
 
int main (void)
 [setup] More...
 

Variables

uint16_t data_buffer [4] = {0xF87F, 0x901F, 0, 0}
 [module_inst] More...
 
struct i2s_module i2s_instance
 [module_inst] More...
 

static void _configure_i2s ( void  )
static

[callback_funcs]

[setup]

[setup_i2s_init]

[setup_i2s_init]

[setup_clock_unit_config]

[setup_clock_unit_config] [setup_clock_unit_config_defaults]

[setup_clock_unit_config_defaults]

[setup_clock_unit_change_config]

[setup_clock_unit_change_config]

[setup_clock_unit_change_pins]

[setup_clock_unit_change_pins]

[setup_clock_unit_set_config]

[setup_clock_unit_set_config]

[setup_serializer_config]

[setup_serializer_config] [setup_serializer_config_defaults]

[setup_serializer_config_defaults]

[setup_serializer_change_config_tx]

[setup_serializer_change_config_tx]

[setup_serializer_change_config_pin_tx]

[setup_serializer_change_config_pin_tx]

[setup_serializer_set_config_tx]

[setup_serializer_set_config_tx]

[setup_enable]

[setup_enable]

References i2s_clock_unit_config::clock, i2s_serializer_config::clock_unit, i2s_frame_config::data_delay, i2s_serializer_config::data_pin, i2s_serializer_config::data_size, i2s_pin_config::enable, i2s_clock_unit_config::frame, i2s_frame_config::frame_sync, i2s_clock_unit_config::fs_pin, GCLK_GENERATOR_0, i2s_clock_config::gclk_src, i2s_pin_config::gpio, I2S_CLOCK_UNIT_0, i2s_clock_unit_enable(), i2s_clock_unit_get_config_defaults(), i2s_clock_unit_set_config(), I2S_DATA_DELAY_0, I2S_DATA_SIZE_16BIT, i2s_enable(), I2S_FRAME_SYNC_SOURCE_SCKDIV, I2S_FRAME_SYNC_WIDTH_HALF_FRAME, i2s_init(), i2s_instance, I2S_MASTER_CLOCK_SOURCE_GCLK, I2S_SERIAL_CLOCK_SOURCE_MCKDIV, I2S_SERIALIZER_0, i2s_serializer_enable(), i2s_serializer_get_config_defaults(), i2s_serializer_set_config(), I2S_SERIALIZER_TRANSMIT, I2S_SLOT_SIZE_32_BIT, i2s_clock_config::mck_out_div, i2s_clock_config::mck_out_enable, i2s_clock_unit_config::mck_pin, i2s_clock_config::mck_src, i2s_serializer_config::mode, i2s_pin_config::mux, i2s_frame_config::number_slots, i2s_clock_config::sck_div, i2s_clock_unit_config::sck_pin, i2s_clock_config::sck_src, i2s_frame_config::slot_size, i2s_frame_sync_config::source, and i2s_frame_sync_config::width.

Referenced by main().

static void _configure_i2s_callbacks ( void  )
static

[setup_register_callback]

[setup_register_callback]

[setup_enable_callback]

[setup_enable_callback]

References _i2s_callback_to_send_buffer(), i2s_instance, I2S_SERIALIZER_0, I2S_SERIALIZER_CALLBACK_BUFFER_DONE, i2s_serializer_enable_callback(), and i2s_serializer_register_callback().

Referenced by main().

static void _i2s_callback_to_send_buffer ( struct i2s_module *const  module_inst)
static

[data_buffer]

[callback_funcs]

References data_buffer, I2S_SERIALIZER_0, and i2s_serializer_write_buffer_job().

Referenced by _configure_i2s_callbacks().

int main ( void  )

[setup]

[setup_init]

[setup_init]

[main]

[enable_global_interrupts]

[enable_global_interrupts]

[start_job]

[start_job]

[main_loop]

[main_loop]

[main]

References _configure_i2s(), _configure_i2s_callbacks(), data_buffer, i2s_instance, I2S_SERIALIZER_0, i2s_serializer_write_buffer_job(), system_init(), and system_interrupt_enable_global().

uint16_t data_buffer[4] = {0xF87F, 0x901F, 0, 0}

[module_inst]

[data_buffer]

Referenced by _i2s_callback_to_send_buffer(), and main().

struct i2s_module i2s_instance

[module_inst]