<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Kinetis MicrocontrollersのトピックRe: is there any demo code for using I2S?</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196173#M2645</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Egoodii,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Many thanks for your help. i'll try your codes.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 06 Apr 2011 08:04:46 GMT</pubDate>
    <dc:creator>JimCheng</dc:creator>
    <dc:date>2011-04-06T08:04:46Z</dc:date>
    <item>
      <title>is there any demo code for using I2S?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196171#M2643</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;is there any one can share with me the I2S reference code?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Mar 2011 14:18:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196171#M2643</guid>
      <dc:creator>JimCheng</dc:creator>
      <dc:date>2011-03-31T14:18:19Z</dc:date>
    </item>
    <item>
      <title>Re: is there any demo code for using I2S?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196172#M2644</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't exactly have a demo project, what I do have is my working audio-interface MQX task that processes I2S (as a slave)in TDM mode using DMA.&amp;nbsp; It keeps per-channel ping-pong buffers that the DMA has de-interleaved, and for each calls an external function to 'do something' for each TX/RX channel.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/******************************************************************************&lt;BR /&gt;&amp;nbsp;*&lt;BR /&gt;&amp;nbsp;* FILE NAME: Audio.c&lt;BR /&gt;&amp;nbsp;*&lt;BR /&gt;&amp;nbsp;* DESCRIPTION: Audio interface&lt;BR /&gt;&amp;nbsp;*&lt;/P&gt;&lt;P&gt;#include "Os.h"&lt;BR /&gt;#include "Audio.h"&lt;BR /&gt;#include "Codec.h"&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;/******************************************************************************&lt;BR /&gt;&amp;nbsp;*&amp;nbsp; Module defines&lt;BR /&gt;&amp;nbsp;*****************************************************************************/&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;#define TX_DMA_Chan 5&lt;BR /&gt;#define RX_DMA_Chan 4&lt;BR /&gt;#define TS_Mask 0xFFFFFCE7UL&lt;BR /&gt;#define AUDIO_NUM_CHANNELS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&lt;BR /&gt;#define AUDIO_BYTES_PER_SAMPLE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 16-bit samples&lt;BR /&gt;#define AUDIO_SAMPLES_PER_BLOCK&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 160&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 160 samples in each block (5ms @ 32 kHz)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/******************************************************************************&lt;BR /&gt;&amp;nbsp;*&amp;nbsp; Module type definitions&lt;BR /&gt;&amp;nbsp;*****************************************************************************/&lt;BR /&gt;//The following structure matchs the TDM stream word order, and is sized to implement&lt;BR /&gt;//&amp;nbsp; full double-buffering (ping-pong) of each stream.&amp;nbsp; On each DMA interrupt, a counter&lt;BR /&gt;//&amp;nbsp; is set to 0 or 1 to indicate the starting point of the curent working set.&lt;BR /&gt;typedef struct&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; s16_t&amp;nbsp;&amp;nbsp; samples[AUDIO_SAMPLES_PER_BLOCK];&lt;BR /&gt;} audioBlock_t;&lt;/P&gt;&lt;P&gt;/******************************************************************************&lt;BR /&gt;&amp;nbsp;*&amp;nbsp; Module variables&lt;BR /&gt;&amp;nbsp;*****************************************************************************/&lt;BR /&gt;audioCallbackRxTxBlockFunc_f rx_tx_block_callback = NULL;&amp;nbsp;&amp;nbsp; // Callback function for rx/tx blocks&lt;/P&gt;&lt;P&gt;static volatile audioBlock_t RxDMA_Buf[AUDIO_NUM_CHANNELS][2], TxDMA_Buf[AUDIO_NUM_CHANNELS][2];&lt;BR /&gt;static u16_t SampleSetOffset;&lt;/P&gt;&lt;P&gt;/******************************************************************************&lt;BR /&gt;&amp;nbsp;*&amp;nbsp; Module function prototypes&lt;BR /&gt;&amp;nbsp;*****************************************************************************/&lt;BR /&gt;static void_t SSI1Init();&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;/******************************************************************************&lt;BR /&gt;&amp;nbsp;*&amp;nbsp; Public functions&lt;BR /&gt;&amp;nbsp;*****************************************************************************/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/******************************************************************************&lt;BR /&gt;&amp;nbsp;* NAME: Audio_Task&lt;BR /&gt;&amp;nbsp;*&lt;BR /&gt;&amp;nbsp;* DESCRIPTION:&lt;BR /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Audio processing task. Set up the I2C, thence the CoDec, thence SSI in&lt;BR /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TDM and DMA to buffer Audio I/O.&lt;BR /&gt;&amp;nbsp;*&lt;BR /&gt;&amp;nbsp;* PARAMETERS:&lt;BR /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; param - not used.&lt;BR /&gt;&amp;nbsp;*&lt;BR /&gt;&amp;nbsp;* RETURN: none.&lt;BR /&gt;&amp;nbsp;*****************************************************************************/&lt;BR /&gt;void_t Audio_Task( u32_t param )&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Configure CoDecs&lt;BR /&gt;&amp;nbsp; Codec_Init();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Now for the Kinetis IIS port &amp;amp; DMA&lt;BR /&gt;&amp;nbsp; SSI1Init();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; for(;&lt;IMG alt=":smileywink:" class="emoticon emoticon-smileywink" id="smileywink" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-wink.gif" title="Smiley Wink" /&gt;//ever&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint16_t i;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _task_block();&lt;BR /&gt;&amp;nbsp; //&amp;nbsp; GPIOA_PCOR |= 1&amp;lt;&amp;lt;10;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //debug out to 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( NULL != rx_tx_block_callback )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for( i = 0; i &amp;lt; AUDIO_NUM_CHANNELS; i++ )&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rx_tx_block_callback( i, (const audioBlock_t*) &amp;amp;RxDMA_Buf[i][SampleSetOffset], (audioBlock_t*) &amp;amp;TxDMA_Buf[i][SampleSetOffset] );&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp; // GPIOA_PSOR |= 1&amp;lt;&amp;lt;10;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //debug out back to 1&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;/******************************************************************************&lt;BR /&gt;&amp;nbsp;*&amp;nbsp; Module functions&lt;BR /&gt;&amp;nbsp;*****************************************************************************/&lt;/P&gt;&lt;P&gt;/*DMA ISR*/&lt;/P&gt;&lt;P&gt;static pointer Pblock_td_ptr;&lt;BR /&gt;void BlockDMA( pointer user_isr_ptr&amp;nbsp; )&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; //&amp;nbsp; GPIOA_PCOR |= 1&amp;lt;&amp;lt;10;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //debug out to 0&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_CINT = DMA_CINT_CINT(RX_DMA_Chan);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Clear this interrupt request&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SampleSetOffset = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //based on current DMA iteration&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if( (DMA_CITER_ELINKNO(RX_DMA_Chan) &amp;amp; DMA_CITER_ELINKNO_CITER_MASK ) &amp;gt; (AUDIO_SAMPLES_PER_BLOCK + 2))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SampleSetOffset = 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _task_ready(Pblock_td_ptr);&lt;BR /&gt;&amp;nbsp;//&amp;nbsp;&amp;nbsp; GPIOA_PSOR |= 1&amp;lt;&amp;lt;10;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //debug out back to 1&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;/******************************************************************************&lt;BR /&gt;&amp;nbsp;* NAME: SSI1Init&lt;BR /&gt;&amp;nbsp;*&lt;BR /&gt;&amp;nbsp;* DESCRIPTION:&lt;BR /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Initializes the device. Allocates memory for the device data&lt;BR /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; structure, allocates interrupt vectors and sets interrupt&lt;BR /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; priority, sets pin routing, sets timing, etc.&lt;BR /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This method can be called only once. Before the second call&lt;BR /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; of Init() the Deinit() must be called first.&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;*&lt;BR /&gt;&amp;nbsp;* PARAMETERS:&lt;BR /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; param - not used.&lt;BR /&gt;&amp;nbsp;*&lt;BR /&gt;&amp;nbsp;* RETURN: none.&lt;BR /&gt;&amp;nbsp;*****************************************************************************/&lt;BR /&gt;static void_t SSI1Init( void_t )&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; uint32_t temp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* SIM_SCGC6: I2S=1 &amp;amp; DMAMUX=1*/&amp;nbsp; //Turn on module clocks to bring registers into address space&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_SCGC6 |= (SIM_SCGC6_I2S_MASK | SIM_SCGC6_DMAMUX_MASK) ;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIM_SCGC7 |= (SIM_SCGC7_DMA_MASK) ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Interrupt vector(s) priority setting */&amp;nbsp; //No interrupts for I2S, only DMA RX&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* NVICIP79: PRI79=0x80 */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // NVICIP79 = (u8_t)0x80U;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* NVICISER2: SETENA|=0x8000 */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // NVICISER2 |= (u32_t)0x8000UL;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTE_PCR10 = PORT_PCR_MUX(4);&amp;nbsp; //TXD&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTE_PCR7&amp;nbsp; = PORT_PCR_MUX(4);&amp;nbsp; //RXD&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTE_PCR12 = PORT_PCR_MUX(4);&amp;nbsp; //TX_BCLK&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTE_PCR11 = PORT_PCR_MUX(4);&amp;nbsp; //TX_FS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // PORTE_PCR9&amp;nbsp; = PORT_PCR_MUX(4);&amp;nbsp; //RX_BCLK&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp; PORTE_PCR8&amp;nbsp; = PORT_PCR_MUX(4);&amp;nbsp; //RX_FS&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // PORTE_PCR6&amp;nbsp; = PORT_PCR_MUX(4) | PORT_PCR_DSE_MASK ;//MCLK out as I2S MCLK&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2S0_CR = //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set Configuration register&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* I2S_CR_SYSCLKEN_MASK | */I2S_CR_SYNCTXFS_MASK | I2S_CR_RFRCLKDIS_MASK | I2S_CR_TFRCLKDIS_MASK&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | I2S_CR_I2SMODE(0)/*1)*/ | I2S_CR_SYN_MASK | I2S_CR_NET_MASK | I2S_CR_SSIEN_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2S0_TMSK = TS_Mask;&amp;nbsp;&amp;nbsp; /* Set Transmit time slot mask register */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2S0_RMSK = TS_Mask;&amp;nbsp;&amp;nbsp; /* Set Receive time slot mask register */&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2S0_TCR = //&amp;nbsp;&amp;nbsp;&amp;nbsp; Set Transmit configuration register&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* I2S_TCR_TFDIR_MASK | I2S_TCR_TXDIR_MASK |*/ I2S_TCR_TXBIT0_MASK | I2S_TCR_TFEN0_MASK | I2S_TCR_TFSL_MASK | I2S_TCR_TEFS_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2S0_TCCR = //&amp;nbsp;&amp;nbsp;&amp;nbsp; Set Transmit Clock control register&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2S_TCCR_WL(7) | I2S_TCCR_DC(16-1);&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2S0_RCR = //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set Receive configuration register&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*I2S_RCR_RFDIR_MASK | I2S_RCR_RXDIR_MASK |*/ I2S_RCR_RXBIT0_MASK | I2S_RCR_RFEN0_MASK | I2S_RCR_RFSL_MASK | I2S_RCR_REFS_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2S0_RCCR = //&amp;nbsp;&amp;nbsp;&amp;nbsp; Set Receive Clock control register, actually ignored in SYN mode&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2S_RCCR_WL(7) | I2S_RCCR_DC(16-1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2S0_FCSR = //&amp;nbsp;&amp;nbsp; Set FIFO Control/Status register&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2S_FCSR_RFWM1(AUDIO_NUM_CHANNELS) | I2S_FCSR_TFWM1(AUDIO_NUM_CHANNELS) | I2S_FCSR_RFWM0(AUDIO_NUM_CHANNELS) | I2S_FCSR_TFWM0(AUDIO_NUM_CHANNELS);&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2S0_IER = //&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set Interrupt enable register: DMA only!!&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2S_IER_RDMAE_MASK | I2S_IER_TDMAE_MASK;// | I2S_IER_ROE0EN_MASK | I2S_IER_TUE0EN_MASK ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // I2S_ACNT&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2S0_ACNT = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Clear AC97 control register */&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // OSC_CR |= 0X80;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp = _task_get_id_from_name("Audio");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Pblock_td_ptr = _task_get_td(temp);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _int_install_isr( (INT_DMA0+RX_DMA_Chan), BlockDMA, 0);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _cortex_int_init((INT_DMA0+RX_DMA_Chan), 4, TRUE);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_CR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_CR_EMLM_MASK | DMA_CR_ERCA_MASK | DMA_CR_EDBG_MASK;&amp;nbsp; //Round robin DMA&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_SADDR(TX_DMA_Chan)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_SADDR_SADDR(&amp;amp;TxDMA_Buf);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_SOFF(TX_DMA_Chan)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_SOFF_SOFF(2*AUDIO_SAMPLES_PER_BLOCK*AUDIO_BYTES_PER_SAMPLE);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Jump thru buffers on each transfer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_ATTR(TX_DMA_Chan)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_ATTR_SMOD(0) | DMA_ATTR_SSIZE(1) | DMA_ATTR_DMOD(0) | DMA_ATTR_DSIZE(1);&amp;nbsp; //All straight 16-bits&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //After each minor loop, source moves back to the first buffer, next word&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_NBYTES_MLOFFYES(TX_DMA_Chan)= DMA_NBYTES_MLOFFYES_SMLOE_MASK&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | DMA_NBYTES_MLOFFYES_MLOFF(-(AUDIO_NUM_CHANNELS*2*AUDIO_SAMPLES_PER_BLOCK*AUDIO_BYTES_PER_SAMPLE)+AUDIO_BYTES_PER_SAMPLE)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | DMA_NBYTES_MLOFFYES_NBYTES(AUDIO_NUM_CHANNELS*AUDIO_BYTES_PER_SAMPLE);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_SLAST(TX_DMA_Chan)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_SLAST_SLAST(-(2*AUDIO_SAMPLES_PER_BLOCK*AUDIO_BYTES_PER_SAMPLE&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; + AUDIO_NUM_CHANNELS*2*AUDIO_SAMPLES_PER_BLOCK*AUDIO_BYTES_PER_SAMPLE-AUDIO_BYTES_PER_SAMPLE) );&amp;nbsp; //After Major loop, back to the beginning of each channel buffer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_DADDR(TX_DMA_Chan)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_DADDR_DADDR(&amp;amp;I2S0_TX0);&amp;nbsp;&amp;nbsp; //Send to I2S transmit FIFO&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_DOFF(TX_DMA_Chan)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_DOFF_DOFF(0);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Constant address&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_CITER_ELINKNO(TX_DMA_Chan)&amp;nbsp; = DMA_CITER_ELINKNO_CITER(2*AUDIO_SAMPLES_PER_BLOCK);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_DLAST_SGA(TX_DMA_Chan)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_DLAST_SGA_DLASTSGA(0);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_CSR(TX_DMA_Chan)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_CSR_BWC(3);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //No TX interrupts, RX req comes last so do all on RX ints&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_BITER_ELINKNO(TX_DMA_Chan)&amp;nbsp; = DMA_BITER_ELINKNO_BITER(2*AUDIO_SAMPLES_PER_BLOCK);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_SADDR(RX_DMA_Chan)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_SADDR_SADDR(&amp;amp;I2S0_RX0);&amp;nbsp;&amp;nbsp; //pull from I2S receive FIFO&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_SOFF(RX_DMA_Chan)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_SOFF_SOFF(0);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_ATTR(RX_DMA_Chan)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_ATTR_SMOD(0) | DMA_ATTR_SSIZE(1) | DMA_ATTR_DMOD(0) | DMA_ATTR_DSIZE(1);&amp;nbsp; //All straight 16-bits&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //After each minor loop, dest moves back to the first buffer, next word&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_NBYTES_MLOFFYES(RX_DMA_Chan)= DMA_NBYTES_MLOFFYES_DMLOE_MASK&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | DMA_NBYTES_MLOFFYES_MLOFF(-(AUDIO_NUM_CHANNELS*2*AUDIO_SAMPLES_PER_BLOCK*AUDIO_BYTES_PER_SAMPLE)+AUDIO_BYTES_PER_SAMPLE)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | DMA_NBYTES_MLOFFYES_NBYTES(AUDIO_NUM_CHANNELS*AUDIO_BYTES_PER_SAMPLE);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_SLAST(RX_DMA_Chan)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_SLAST_SLAST(0);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_DADDR(RX_DMA_Chan)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_DADDR_DADDR(&amp;amp;RxDMA_Buf);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_DOFF(RX_DMA_Chan)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_DOFF_DOFF(2*AUDIO_SAMPLES_PER_BLOCK*AUDIO_BYTES_PER_SAMPLE);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Jump thru buffers on each transfer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_CITER_ELINKNO(RX_DMA_Chan)&amp;nbsp; = DMA_CITER_ELINKNO_CITER(2*AUDIO_SAMPLES_PER_BLOCK);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_DLAST_SGA(RX_DMA_Chan)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_DLAST_SGA_DLASTSGA(-(2*AUDIO_SAMPLES_PER_BLOCK*AUDIO_BYTES_PER_SAMPLE&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; + AUDIO_NUM_CHANNELS*2*AUDIO_SAMPLES_PER_BLOCK*AUDIO_BYTES_PER_SAMPLE-AUDIO_BYTES_PER_SAMPLE) );&amp;nbsp; //After Major loop, back to the beginning of each channel buffer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_CSR(RX_DMA_Chan)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_CSR_BWC(3) | DMA_CSR_INTHALF_MASK | DMA_CSR_INTMAJOR_MASK;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_BITER_ELINKNO(RX_DMA_Chan)&amp;nbsp; = DMA_BITER_ELINKNO_BITER(2*AUDIO_SAMPLES_PER_BLOCK);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMAMUX_CHCFG(TX_DMA_Chan) = DMAMUX_CHCFG_ENBL_MASK | DMAMUX_CHCFG_SOURCE(15);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMAMUX_CHCFG(RX_DMA_Chan) = DMAMUX_CHCFG_ENBL_MASK | DMAMUX_CHCFG_SOURCE(14);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_SERQ&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_SERQ_SERQ(RX_DMA_Chan);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //All set to go, enable DMA channel(s)!&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA_SERQ&amp;nbsp;&amp;nbsp;&amp;nbsp; = DMA_SERQ_SERQ(TX_DMA_Chan);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2S0_CR |= I2S_CR_RE_MASK | I2S_CR_TE_MASK;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable the IIS device */&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;/******************************************************************************&lt;BR /&gt;&amp;nbsp;*&amp;nbsp; End of file&lt;BR /&gt;&amp;nbsp;*****************************************************************************/&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Apr 2011 00:31:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196172#M2644</guid>
      <dc:creator>egoodii</dc:creator>
      <dc:date>2011-04-05T00:31:41Z</dc:date>
    </item>
    <item>
      <title>Re: is there any demo code for using I2S?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196173#M2645</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Egoodii,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Many thanks for your help. i'll try your codes.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Apr 2011 08:04:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196173#M2645</guid>
      <dc:creator>JimCheng</dc:creator>
      <dc:date>2011-04-06T08:04:46Z</dc:date>
    </item>
    <item>
      <title>Re: is there any demo code for using I2S?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196174#M2646</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Attached is a sample code that enables SAI module as I2S (stereo) slave in synchronous mode (TX and RX share BCLK and Frame synch). Uses DMA for transfer and the TWR-AUDIO_SGTL Rev B1 (board with 24.576Mhz oscillator).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Adding a couple of more data:&lt;/P&gt;&lt;P&gt;- Configures the SGTL5000 as I2S master and a 48Khz audio&lt;/P&gt;&lt;P&gt;- The application takes the audio from the codec line in and sends it to line out and headphone outputs.&lt;/P&gt;&lt;P&gt;- Works on a TWR-K60D100M &lt;/P&gt;&lt;P&gt;- Enables the codec 5-band graphic equalizer when SW1 is pressed&lt;/P&gt;&lt;P&gt;- Compiled and tested on CW10.2 with latest patches.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Oct 2012 17:32:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196174#M2646</guid>
      <dc:creator>carlos_neri</dc:creator>
      <dc:date>2012-10-11T17:32:30Z</dc:date>
    </item>
    <item>
      <title>Re: is there any demo code for using I2S?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196175#M2647</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Carlos,&lt;/P&gt;&lt;P&gt;Thank you for the nice demo code. Do you have a version that works with the TWR-K60N512?&lt;/P&gt;&lt;P&gt;-Brian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Dec 2012 19:23:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196175#M2647</guid>
      <dc:creator>BrianMoon</dc:creator>
      <dc:date>2012-12-11T19:23:18Z</dc:date>
    </item>
    <item>
      <title>Re: is there any demo code for using I2S?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196176#M2648</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Brian,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is it. This one is not as clean and layered as the last one but hopefully will help you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It outputs a sine wave or takes the data from the line in and send is to line out depending on SW1.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Dec 2012 23:51:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196176#M2648</guid>
      <dc:creator>carlos_neri</dc:creator>
      <dc:date>2012-12-11T23:51:52Z</dc:date>
    </item>
    <item>
      <title>Re: is there any demo code for using I2S?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196177#M2649</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you, Carlos!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried the code and had to modify the project a little to get it to run with the embedded OSJTAG configuration. The project seems to indeed output a 2kHz sinusoid on the Line Out port, however I noticed that there are small glitches in the output signal. I also can't tell if, after pressing SW1, the Line In to Line Out feature is working or not. Any hints as to how I might correct the sine output glitches (it seems like something in the buffer management might be off by one or something)? Also, should I expect the Line In to Line Out mechanism to work?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for any help you can provide!&lt;/P&gt;&lt;P&gt;-Brian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Dec 2012 14:08:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196177#M2649</guid>
      <dc:creator>BrianMoon</dc:creator>
      <dc:date>2012-12-12T14:08:57Z</dc:date>
    </item>
    <item>
      <title>Re: is there any demo code for using I2S?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196178#M2650</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Carlos,&lt;/P&gt;&lt;P&gt;I now have a TWR-K60D100M, and have built and loaded the TWRK60D100M_TWRAudioSGTL_Loopback project on it. I am inputting a 1kHz 2Vp-p sinusoid into the Line In port of my TWR-AUDIO-SGTL board, yet I don't see any output on either the Line Out or Headphones. Can you suggest a debugging approach? What should I look at first?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;-Brian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Jan 2013 17:30:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196178#M2650</guid>
      <dc:creator>brian64</dc:creator>
      <dc:date>2013-01-10T17:30:15Z</dc:date>
    </item>
    <item>
      <title>Re: is there any demo code for using I2S?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196179#M2651</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Brian,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;First thing I'd check is the TWR-AUDIO-SGTL you got. The code is ready for the board rev. B1. How do I know if my board is a rev. B1 one? well, the fastest way is to take a look to the board on Y1. If your board has a big 24.576 oscillator on Y1 then you have the correct board, if not, then the code must be modified to work with your board&amp;nbsp; (MCU as I2S master and&amp;nbsp; codec as salve).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the board is the rev. B1, then I would check the audio clocks. The application runs 48Khz audio, this means that the I2S clocks are:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Frame synch = 48Khz&lt;/P&gt;&lt;P&gt;BCLK = 64*Fs = 3.072Mhz&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also check if there is traffic on the data lines (Rx and Tx).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please take a look to the above and let me know your results :smileyhappy:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Carlos&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Jan 2013 17:40:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196179#M2651</guid>
      <dc:creator>carlos_neri</dc:creator>
      <dc:date>2013-01-10T17:40:54Z</dc:date>
    </item>
    <item>
      <title>Re: is there any demo code for using I2S?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196180#M2652</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Carlos,&lt;/P&gt;&lt;P&gt;I confirmed that I have a Rev B1 SGTL board. I've made the following measurements right on the SGTL board:&lt;/P&gt;&lt;P&gt;I2S SCLK (J8) ~= 3.068 MHz&lt;/P&gt;&lt;P&gt;I2S LRCLK (J9) ~= 48 kHz&lt;/P&gt;&lt;P&gt;There appears to be traffic on both I2S DIN (J11) and I2S DOUT (J10)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, it would seem that I might have an output volume level issue...what do you think? Maybe it's muted?&lt;/P&gt;&lt;P&gt;-Brian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Jan 2013 18:08:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196180#M2652</guid>
      <dc:creator>brian64</dc:creator>
      <dc:date>2013-01-10T18:08:04Z</dc:date>
    </item>
    <item>
      <title>Re: is there any demo code for using I2S?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196181#M2653</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Carlos,&lt;/P&gt;&lt;P&gt;Upon further investigation, I noticed that the output signals are indeed there; they are just very low amplitude (~40mVp-p), and they seem to be on opposite channels between the Line Out and Headphones. I'll play with adjusting the output volume and see if that makes things better.&lt;/P&gt;&lt;P&gt;-Brian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Jan 2013 18:44:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196181#M2653</guid>
      <dc:creator>brian64</dc:creator>
      <dc:date>2013-01-10T18:44:08Z</dc:date>
    </item>
    <item>
      <title>Re: is there any demo code for using I2S?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196182#M2654</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Brian,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As you noticed, the channels on line-in and line-out are inverted, this is a known issue and documented on the HW errata:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://cache.freescale.com/files/soft_dev_tools/doc/errata/TWR-AUDIO-SGTL_HWER.pdf?fpsp=1&amp;amp;WT_TYPE=Errata&amp;amp;WT_VENDOR=FREESCALE&amp;amp;WT_FILE_FORMAT=pdf&amp;amp;WT_ASSET=Documentation"&gt;http://cache.freescale.com/files/soft_dev_tools/doc/errata/TWR-AUDIO-SGTL_HWER.pdf?fpsp=1&amp;amp;WT_TYPE=Errata&amp;amp;WT_VENDOR=FREESCALE&amp;amp;WT_FILE_FORMAT=pdf&amp;amp;WT_ASSET=Documentation&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The samples are not modified by the firmware, hence the output should be the same amplitude, but this would depend on the load as well and the volume on the codec headphone amplifier plus the DAC volume configure. You may want to change those parameters to get the desired output.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Jan 2013 18:54:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196182#M2654</guid>
      <dc:creator>carlos_neri</dc:creator>
      <dc:date>2013-01-10T18:54:16Z</dc:date>
    </item>
    <item>
      <title>Re: is there any demo code for using I2S?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196183#M2655</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Carlos,&lt;/P&gt;&lt;P&gt;I figured out the problem...there is a huge attenuator hidden inside the audio jack I have been using for testing! (Sigh.) Thanks a ton for your other help thus far!&lt;/P&gt;&lt;P&gt;-Brian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Jan 2013 21:03:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196183#M2655</guid>
      <dc:creator>brian64</dc:creator>
      <dc:date>2013-01-10T21:03:25Z</dc:date>
    </item>
    <item>
      <title>Re: is there any demo code for using I2S?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196184#M2656</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Brian,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good news :smileygrin:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Question, is this from the audio jack on your TWR-AUDIO-SGTL?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Saludos,&lt;/P&gt;&lt;P&gt;Carlos Neri&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Jan 2013 20:28:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196184#M2656</guid>
      <dc:creator>carlos_neri</dc:creator>
      <dc:date>2013-01-16T20:28:07Z</dc:date>
    </item>
    <item>
      <title>Re: is there any demo code for using I2S?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196185#M2657</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Carlos,&lt;/P&gt;&lt;P&gt;No; the attenuation circuit resides inside an 1/8" audio jack adapter that I used in this case. I believe the TWR-AUDIO-SGTL audio circuit is just fine -- it does not appear to induce much/any attenuation at all.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks again for all your help!&lt;/P&gt;&lt;P&gt;-Brian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 16 Jan 2013 21:23:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196185#M2657</guid>
      <dc:creator>BrianMoon</dc:creator>
      <dc:date>2013-01-16T21:23:04Z</dc:date>
    </item>
    <item>
      <title>Re: is there any demo code for using I2S?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196186#M2658</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I have downloaded your project, but does not seem to work at all ... I think it is also &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt; REV B1 SGTL, checked the oscilator it has &lt;SPAN style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;24.576M, when I connect the headphones I do hear some strange sound ... (as background noise ... in the heaphone jack), do you know a way if I want to generat like a sound wave or something on the heaphones ... too see if I can here anything. thanks.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 10 May 2013 10:14:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196186#M2658</guid>
      <dc:creator>HerascuIulian-C</dc:creator>
      <dc:date>2013-05-10T10:14:54Z</dc:date>
    </item>
    <item>
      <title>Re: is there any demo code for using I2S?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196187#M2659</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Catalin,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The sample code requires an audio source, in this case any media player connected to the Line In connector.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But if you had the media player with music and still no results, you could calculate a sine wave table using Excel and modify the code to output it. For your reference, here's a 1 Khz sine wave table @ 48Khz 16-bit:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;0x10B5,0x10B5,&lt;/P&gt;&lt;P&gt;0x2120,0x2120,&lt;/P&gt;&lt;P&gt;0x30FB,0x30FB,&lt;/P&gt;&lt;P&gt;0x4000,0x4000,&lt;/P&gt;&lt;P&gt;0x4DEB,0x4DEB,&lt;/P&gt;&lt;P&gt;0x5A82,0x5A82,&lt;/P&gt;&lt;P&gt;0x658C,0x658C,&lt;/P&gt;&lt;P&gt;0x6ED9,0x6ED9,&lt;/P&gt;&lt;P&gt;0x7641,0x7641,&lt;/P&gt;&lt;P&gt;0x7BA3,0x7BA3,&lt;/P&gt;&lt;P&gt;0x7EE7,0x7EE7,&lt;/P&gt;&lt;P&gt;0x8000,0x8000,&lt;/P&gt;&lt;P&gt;0x7EE7,0x7EE7,&lt;/P&gt;&lt;P&gt;0x7BA3,0x7BA3,&lt;/P&gt;&lt;P&gt;0x7641,0x7641,&lt;/P&gt;&lt;P&gt;0x6ED9,0x6ED9,&lt;/P&gt;&lt;P&gt;0x658C,0x658C,&lt;/P&gt;&lt;P&gt;0x5A82,0x5A82,&lt;/P&gt;&lt;P&gt;0x4DEB,0x4DEB,&lt;/P&gt;&lt;P&gt;0x4000,0x4000,&lt;/P&gt;&lt;P&gt;0x30FB,0x30FB,&lt;/P&gt;&lt;P&gt;0x2120,0x2120,&lt;/P&gt;&lt;P&gt;0x10B5,0x10B5,&lt;/P&gt;&lt;P&gt;0x0,0x0,&lt;/P&gt;&lt;P&gt;0xEF4B,0xEF4B,&lt;/P&gt;&lt;P&gt;0xDEE0,0xDEE0,&lt;/P&gt;&lt;P&gt;0xCF05,0xCF05,&lt;/P&gt;&lt;P&gt;0xC000,0xC000,&lt;/P&gt;&lt;P&gt;0xB215,0xB215,&lt;/P&gt;&lt;P&gt;0xA57E,0xA57E,&lt;/P&gt;&lt;P&gt;0x9A74,0x9A74,&lt;/P&gt;&lt;P&gt;0x9127,0x9127,&lt;/P&gt;&lt;P&gt;0x89BF,0x89BF,&lt;/P&gt;&lt;P&gt;0x845D,0x845D,&lt;/P&gt;&lt;P&gt;0x8119,0x8119,&lt;/P&gt;&lt;P&gt;0x8000,0x8000,&lt;/P&gt;&lt;P&gt;0x8119,0x8119,&lt;/P&gt;&lt;P&gt;0x845D,0x845D,&lt;/P&gt;&lt;P&gt;0x89BF,0x89BF,&lt;/P&gt;&lt;P&gt;0x9127,0x9127,&lt;/P&gt;&lt;P&gt;0x9A74,0x9A74,&lt;/P&gt;&lt;P&gt;0xA57E,0xA57E,&lt;/P&gt;&lt;P&gt;0xB215,0xB215,&lt;/P&gt;&lt;P&gt;0xC000,0xC000,&lt;/P&gt;&lt;P&gt;0xCF05,0xCF05,&lt;/P&gt;&lt;P&gt;0xDEE0,0xDEE0,&lt;/P&gt;&lt;P&gt;0xEF4B,0xEF4B,&lt;/P&gt;&lt;P&gt;0x0,0x0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you have a scope with you, I recommend you to use it in order to confirm the output directly at the line out jack, if there is no scope then you can use your headphone but just for a little time because the sine wave can damage them. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Carlos Neri&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Jun 2013 03:32:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196187#M2659</guid>
      <dc:creator>carlos_neri</dc:creator>
      <dc:date>2013-06-03T03:32:56Z</dc:date>
    </item>
    <item>
      <title>Re: is there any demo code for using I2S?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196188#M2660</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;thank you very much for the help, do you have any idea on the changes I should do.&lt;/P&gt;&lt;P&gt;I tried to test it with a microphone and headphones and I had not gotten any results, I do not have a media player or a scope, so I still want to try with my headphones.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Catalin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Jun 2013 08:53:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196188#M2660</guid>
      <dc:creator>HerascuIulian-C</dc:creator>
      <dc:date>2013-06-03T08:53:24Z</dc:date>
    </item>
    <item>
      <title>Re: is there any demo code for using I2S?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196189#M2661</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I still do not know if it should have worked with a microphone connected as&amp;nbsp; well ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Jun 2013 12:32:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196189#M2661</guid>
      <dc:creator>HerascuIulian-C</dc:creator>
      <dc:date>2013-06-03T12:32:27Z</dc:date>
    </item>
    <item>
      <title>Re: is there any demo code for using I2S?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196190#M2662</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Catalin,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The sample code does not work with microphone, just with Line In as audio source and for output works with headphones and line out (so you can connect a set of active speakers).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just want to make sure everything is ok on your side before any changes to the code, could you please do the following:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Connect the headphone output of your computer to the Line In connector on your TWR-AUDIO-SGTL. To do this take a 3.5mm male to male cable (usally refere as aux cable)&lt;/P&gt;&lt;P&gt;- Connect your headphones on the TWR-AUDIO-SGTL headphone ouput&lt;/P&gt;&lt;P&gt;- Reproduce any sound on your computer (Youtube, audio file, etc).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know the results.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Carlos Neri&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Jun 2013 23:30:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/is-there-any-demo-code-for-using-I2S/m-p/196190#M2662</guid>
      <dc:creator>carlos_neri</dc:creator>
      <dc:date>2013-06-03T23:30:43Z</dc:date>
    </item>
  </channel>
</rss>

