//Echo.c Echo effect changed with size of buffer (delay) short input, output; short bufferlength = 3000; //buffer size for delay short buffer[3000]; //create buffer short i = 0; short amplitude = 5; //to vary amplitude of echo interrupt void c_int11() //ISR { input = input_sample(); //newest input sample data output=input + 0.1*amplitude*buffer[i]; //newest sample+oldest sample output_sample(output); //output sample buffer[i] = input; //store newest input sample i++; //increment buffer count if (i >= bufferlength) i = 0; //if end of buffer reinit } main() { comm_intr(); //init DSK, codec, McBSP while(1); //infinite loop }