STM32F411上用VS1053模块录音,结果全部都是杂音,参考的是STM32战舰板子上的录音实验,调试好几天了,还没有解决,大神求助啊

2019-07-20 22:53发布


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
北极企鹅
2019-07-21 06:38
北极企鹅 发表于 2016-4-5 22:56
VS1053的正弦测试和RAM测试,音乐播放,都没有问题,查看录制的WAV文件头数据也是正常的。程序中VS1053采样 ...

void Recorder_Enter_RecMode(uint16_t agc)
{
   //如果是IMA ADPCM,采样率计算公式如下:
   //采样率=CLKI/256*d;       
   //假设d=0,并2倍频,外部晶振为12.288M.那么Fc=(2*12288000)/256*6=16Khz
   //如果是线性PCM,采样率直接就写采样值
  VS_W_Cmd(SPI_BASS,0x0000);
//  VS_R_Cmd(SPI_BASS);
  VS_W_Cmd(SPI_AICTRL0,16000);        //设置采样率,设置为8Khz
//  VS_R_Cmd(SPI_AICTRL0);
  VS_W_Cmd(SPI_AICTRL1,agc);                //设置增益,0,自动增益.1024相当于1倍,512相当于0.5倍,最大值65535=64倍       
//  VS_R_Cmd(SPI_AICTRL1);
  VS_W_Cmd(SPI_AICTRL2,0);                //设置增益最大值,0,代表最大值65536=64X
//  VS_R_Cmd(SPI_AICTRL2);
  VS_W_Cmd(SPI_AICTRL3,6);                //左通道(MIC单声道输入)
//  VS_R_Cmd(SPI_AICTRL3);
  VS_W_Cmd(SPI_CLOCKF,0X2000);        //设置VS10XX的时钟,MULT:2倍频;ADD:不允许;CLK:12.288Mhz
//  VS_R_Cmd(SPI_CLOCKF);
  VS_W_Cmd(SPI_MODE,0x1804);                //MIC,录音激活   
//  VS_R_Cmd(SPI_MODE);
  mico_thread_msleep( 5 );                                //等待至少1.35ms
  VS_Load_Patch((uint16_t*)wav_plugin,40);//VS1053的WAV录音需要patch
}

一周热门 更多>