main( void ) { /* Initialize BSL */ int j=0; SYS_EXBUSSEL = 0x6100; USBSTK5515_init( ); AIC3204_config(freq_48); coeff = &coefs[0]; //coefs is coefficient of impulse response defined in fdacoefs_int.h inPtr = &input; //inPtr is a globally declared pointer to a Int16 outPtr = &output; while(1) { while((Rcv & I2S0_IR) == 0); input = I2S0_W0_MSW_R; // 16 bit left channel receive audio data input = I2S0_W1_MSW_R; // 16 bit right channel receive audio data linearbuff(); // this function implements the linear buffer while((Xmit & I2S0_IR) == 0); I2S0_W0_MSW_W = output; // 16 bit left channel transmit audio data I2S0_W1_MSW_W = output; // 16 bit right channel transmit audio data recent_output[j]=output; j = ((j + 1) % 100); } /* Disble I2S */ I2S0_CR = 0x00; return 0; }
main( void ) { /* Initialize BSL */ int j=0; SYS_EXBUSSEL = 0x6100; USBSTK5515_init( ); AIC3204_config(freq_48); coeff = &coefs[0]; //coefs is coefficient of impulse response defined in fdacoefs_int.h inPtr = &input; //inPtr is a globally declared pointer to a Int16 outPtr = &output; while(1) { input=sytheticInput[i]; circbuff(); // this function implements the linear buffer recent_output[j]=output; i=(i+1)%5; j = ((j + 1) % 100); } /* Disble I2S */ I2S0_CR = 0x00; return 0; }
/* ------------------------------------------------------------------------ * * * * main( ) * * * * ------------------------------------------------------------------------ */ main( void ) { Int16 LEFT_DATA,RIGHT_DATA; /* Initialize BSL */ SYS_EXBUSSEL = 0x6100; USBSTK5515_init( ); AIC3204_config(freq_48); while(TRUE) { while((Rcv & I2S0_IR) == 0); // Wait for interrupt pending flag LEFT_DATA = I2S0_W0_MSW_R; // 16 bit left channel received audio data RIGHT_DATA = I2S0_W1_MSW_R; // 16 bit right channel received audio data while((Xmit & I2S0_IR) == 0); I2S0_W0_MSW_W = LEFT_DATA; // 16 bit left channel transmit audio data I2S0_W1_MSW_W = RIGHT_DATA; // 16 bit right channel transmit audio data } /* Disble I2S */ I2S0_CR = 0x00; return 0; }