/*---------------------------------------------------------------------- File: inout.c Description: Samples signal from line-input and redirect to line-out. Uses on-board codec and mcbsp0. -----------------------------------------------------------------------*/ #include #include #include #include #include #include #include #include #define SAMPLING_RATE 44100 extern int inicodec (int sampling_rate); interrupt void isr_rint0 (void) { int sample; sample = MCBSP0_DRR; MCBSP0_DXR = sample; return; } void Init_Interrupts () { intr_reset(); // Reset the interrupt system, // disable all interrupts. INTR_CLR_FLAG (CPU_INT15); // Clear previous interrupt request INTR_ENABLE (CPU_INT15); // Enable cpu interrupt line 15 intr_map(CPU_INT15,ISN_RINT0); // Link receive interrupt of serial // port 0 to interrupt line 15. intr_hook (isr_rint0,CPU_INT15); // Assign the interrupt service routine } void main(void) { evm_init(); // Initialise EVM board. inicodec (SAMPLING_RATE); // Initialise codec, adjust sampling rate. Init_Interrupts (); // Initialise interrupts and hook isr. INTR_GLOBAL_ENABLE(); // Enable global interrupt. for (;;); // Main loop, does nothing. }