//Loop_store.c Data acquisition. Input data also stored in buffer

#define BUFFER_SIZE 512        //buffer size
short buffer[BUFFER_SIZE];     //buffer where data is stored
short i = 0;

interrupt void c_int11()	 //interrupt service routine
{
 int sample_data;

 sample_data = input_sample(); //new input data
 output_sample(sample_data);	 //output data

 buffer[i] = sample_data;  	 //store data in buffer
 i++;                      	 //increment buffer index
 if (i == BUFFER_SIZE) i = 0;  //reinit index if buffer full
 return;                       //return from ISR
}

void main()
{
 comm_intr();                  //init DSK, codec, McBSP
 while(1);                     //infinite loop
}