Int16 OutData8[65536]={0}; Int16 OutData9[65536]={0}; Int16 OutData10[65536]={0}; Int16 OutData11[65536]={0}; Int16 OutData12[65536]={0}; Int16 OutData13[65536]={0}; Int16 OutData14[65536]={0}; Int16 OutData15[65536]={0};
#pragma DATA_SECTION (SourData1,\设置存储器地址段,输入数据 #pragma DATA_SECTION (SourData2,\#pragma DATA_SECTION (SourData3,\#pragma DATA_SECTION (SourData4,\#pragma DATA_SECTION (SourData5,\#pragma DATA_SECTION (SourData6,\#pragma DATA_SECTION (SourData7,\#pragma DATA_SECTION (SourData8,\#pragma DATA_SECTION (SourData9,\#pragma DATA_SECTION (SourData10,\#pragma DATA_SECTION (SourData11,\#pragma DATA_SECTION (SourData12,\#pragma DATA_SECTION (SourData13,\#pragma DATA_SECTION (SourData14,\#pragma DATA_SECTION (SourData15,\
#pragma DATA_SECTION (OutData1,\设置存储器地址段,输出数据 #pragma DATA_SECTION (OutData2,\#pragma DATA_SECTION (OutData3,\#pragma DATA_SECTION (OutData4,\#pragma DATA_SECTION (OutData5,\#pragma DATA_SECTION (OutData6,\#pragma DATA_SECTION (OutData7,\#pragma DATA_SECTION (OutData8,\#pragma DATA_SECTION (OutData9,\#pragma DATA_SECTION (OutData10,\#pragma DATA_SECTION (OutData11,\#pragma DATA_SECTION (OutData12,\#pragma DATA_SECTION (OutData13,\#pragma DATA_SECTION (OutData14,\#pragma DATA_SECTION (OutData15,\
#define AUDIOTRY 0xAA0A//音频试听
#define AUDIOCOPY 0xAA07//音频存贮并回放 #define TESTCOMMAND 1 //操作命令选择
// 定义McBSP的句柄 MCBSP_Handle hMcbsp;
/*------------------------------------------------------------------------------------*/ //
// FUNCTION: MAIN //
/*------------------------------------------------------------------------------------*/ void main(void) {
Int16 DataTempLeft = 0; Int16 DataTempRight = 0; Int16 TempData; Uint16 i;
Uint16 TestCommand =1;
CSL_init();
// 暂存采样数据
PLL_setFreq(1, 0xC, 0, 1, 3, 3, 0);CSL库提供PPL模块,PLL_setFreq()函数用于对PLL进行初始化,产生各个时钟
Emif_Config(); hMcbsp = MCBSP_open(MCBSP_PORT1,MCBSP_OPEN_RESET); Mcbsp_Config(hMcbsp); I2C_cofig(); inti_AIC(); while(1) { switch(TestCommand) { /*音频试听*/ case 1: while(!MCBSP_rrdy(hMcbsp)){};查询McBSP控制寄存器(RRDY接收数据准备好位)中是否有效,等待接收handset处的采样 DataTempLeft = MCBSP_read16(hMcbsp);
while(!MCBSP_xrdy(hMcbsp)) {};
MCBSP_write16(hMcbsp,DataTempLeft); while(!MCBSP_rrdy(hMcbsp)){};
DataTempRight = MCBSP_read16(hMcbsp); while(!MCBSP_xrdy(hMcbsp)) {};
MCBSP_write16(hMcbsp,DataTempRight); TestCommand=2; break;
/*音频存贮压缩*/ case 2:
asm (\ for(i=0;i<65535;i++)读入数位为16bits { while(!MCBSP_rrdy(hMcbsp)){}; TempData=MCBSP_read16(hMcbsp); SourData1[i]=linear2alaw(TempData); } for(i=0;i<65535;i++) { while(!MCBSP_rrdy(hMcbsp)){}; TempData=MCBSP_read16(hMcbsp);
SourData2[i]=linear2alaw(TempData); 对采样进行a律压缩,把低地址
数据放在高八位高地址数据放在低八位 } for(i=0;i<65535;i++) { while(!MCBSP_rrdy(hMcbsp)){}; TempData=MCBSP_read16(hMcbsp); SourData3[i]=linear2alaw(TempData); } for(i=0;i<65535;i++) { while(!MCBSP_rrdy(hMcbsp)){}; TempData=MCBSP_read16(hMcbsp); SourData4[i]=linear2alaw(TempData); } for(i=0;i<65535;i++) { while(!MCBSP_rrdy(hMcbsp)){}; TempData=MCBSP_read16(hMcbsp);
SourData5[i]=linear2alaw(TempData);
} for(i=0;i<65535;i++) { while(!MCBSP_rrdy(hMcbsp)){}; TempData=MCBSP_read16(hMcbsp); SourData6[i]=linear2alaw(TempData); } for(i=0;i<65535;i++) { while(!MCBSP_rrdy(hMcbsp)){}; TempData=MCBSP_read16(hMcbsp); SourData7[i]=linear2alaw(TempData); } for(i=0;i<65535;i++) { while(!MCBSP_rrdy(hMcbsp)){}; TempData=MCBSP_read16(hMcbsp); SourData8[i]=linear2alaw(TempData); } for(i=0;i<65535;i++) { while(!MCBSP_rrdy(hMcbsp)){}; TempData=MCBSP_read16(hMcbsp); SourData9[i]=linear2alaw(TempData); } for(i=0;i<65535;i++) { while(!MCBSP_rrdy(hMcbsp)){}; TempData=MCBSP_read16(hMcbsp); SourData10[i]=linear2alaw(TempData); } for(i=0;i<65535;i++) { while(!MCBSP_rrdy(hMcbsp)){}; TempData=MCBSP_read16(hMcbsp); SourData11[i]=linear2alaw(TempData); } for(i=0;i<65535;i++) { while(!MCBSP_rrdy(hMcbsp)){}; TempData=MCBSP_read16(hMcbsp); SourData12[i]=linear2alaw(TempData); }
for(i=0;i<65535;i++) { while(!MCBSP_rrdy(hMcbsp)){}; TempData=MCBSP_read16(hMcbsp); SourData13[i]=linear2alaw(TempData); } for(i=0;i<65535;i++) { while(!MCBSP_rrdy(hMcbsp)){}; TempData=MCBSP_read16(hMcbsp); SourData14[i]=linear2alaw(TempData); } for(i=0;i<65535;i++) { while(!MCBSP_rrdy(hMcbsp)){}; TempData=MCBSP_read16(hMcbsp); SourData15[i]=linear2alaw(TempData);
};存储15个接受的数据段
//解压
asm (\控制灯的亮 for(i=0;i<65535;i++) { OutData1[i] = alaw2linear(SourData1[i]);对采样进行a律解压,把低地址数据放在高八位高地址数据放在低八位 } for(i=0;i<65535;i++) { OutData2[i] = alaw2linear(SourData2[i]); } for(i=0;i<65535;i++) { OutData3[i] = alaw2linear(SourData3[i]); }
for(i=0;i<65535;i++) { OutData4[i] = alaw2linear(SourData4[i]); } for(i=0;i<65535;i++) { OutData5[i] = alaw2linear(SourData5[i]); } for(i=0;i<65535;i++) {