分别从左通道和右通道入同样的信号,现在我把程序改成只读取左通道的数据,现在读进来的数据是正确的(通过检查aic23data[j]),应该是只有左通道有输出,但是现在左通道右通道均信号有输出,请问有人知道咋回事吗?希望大神能给个解决办法,谢谢啦
这是我读数据和写数据的程序
while(!MCBSP_rrdy(hMcbsp1)){};
Read_AIC23B_Data = MCBSP_read32(hMcbsp1);
temp= Read_AIC23B_Data & 0xffff0000;
aic23data[j]=temp;
MCBSP_write32(hMcbsp1, aic23data[j]);
我的aic23B的配置是
//数字音频接口格式设置
Uint16 digital_audio_inteface_format[2]={0x0e,0x53}; //AIC23为主模式,数据为DSP模式,数据长度16位
Uint16 sample_rate_control[2] = {0x10,0x23}; //AIC23的波特率设置,采样率为44.1K
Uint16 reset[2] ={0x1e,0x00}; //AIC23寄存器复位
Uint16 power_down_control[2] ={0x0c,0x02}; //AIC23节电方式设置,所有部分均所与工作状态
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
//AIC23模拟音频的控制
Uint16 analog_aduio_path_control[2] ={0x08,0x12}; //DAC使能,ADC输入选择为Line
Uint16 digital_audio_path_control[2] ={0x0a,0x00}; //AIC23数字音频通路的控制
Uint16 digital_interface_activation[2] ={0x12,0x01}; //AIC23数字接口的使能
Uint16 left_line_input_volume_control[2] ={0x00,0x97}; //AIC23左通路音频调节
Uint16 right_line_input_volume_control[2] ={0x02,0x97};//AIC23右通路音频调节
Uint16 left_headphone_volume_control[2] ={0x04,0x78}; //AIC23耳机左通路音频调节
Uint16 right_headphone_volume_control[2] = {0x06,0x78};//AIC23耳机右通路音频调节
|