Загрузка данных


    struct i2s_config config_rx;
    struct i2s_config config_tx;

    /* Общие параметры */
    config_rx.word_size = SAMPLE_BIT_WIDTH;
    config_rx.channels = NUMBER_OF_CHANNELS;
    config_rx.format = I2S_FMT_DATA_FORMAT_I2S;
    config_rx.options = I2S_OPT_BIT_CLK_MASTER | I2S_OPT_FRAME_CLK_MASTER;
    config_rx.timeout = TIMEOUT;

    /* Настройки под RX (Кодек) */
    config_rx.frame_clk_freq = SAMPLE_FREQ_RX; // 16000 Hz
    config_rx.mem_slab = &mem_slab_rx;
    config_rx.block_size = BLOCK_SIZE_RX;
    i2s_configure(i2s_dev_rx, I2S_DIR_RX, &config_rx);

    /* Настройки под TX (Усилитель) */
    config_tx = config_rx; // Копируем общие настройки
    config_tx.frame_clk_freq = SAMPLE_FREQ_TX; // 32000 Hz (TFA9882 доволен)
    config_tx.mem_slab = &mem_slab_tx;
    config_tx.block_size = BLOCK_SIZE_TX;
    i2s_configure(i2s_dev_tx, I2S_DIR_TX, &config_tx);