2019-07-20 22:53发布
北极企鹅 发表于 2016-4-5 22:56 VS1053的正弦测试和RAM测试,音乐播放,都没有问题,查看录制的WAV文件头数据也是正常的。程序中VS1053采样 ...
正点原子 发表于 2016-4-6 22:25 把录制的文件,用hex看看文件头,对不对.
最多设置5个标签!
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
}
原子哥,我现在已将数据溢出的问题解决了,是因为读取寄存器SPI-HDAT1、SPI-HDAT0的值操作时间过长,导致数据无法及时读取,产生溢出现象。现在可以录音了,但录制的文件还存在大量噪音,发现录音时拔掉耳机,就没有噪音,但插上耳机就会有噪音。还有就是程序一进入激活录音模式之后就发出嘟嘟的响声,不知是何原因。将ATK-VS1053模块连接到STM32战舰开发板上就可正常录音。原子哥,这个噪音是怎么回事了,电流干扰吗?
另外,供电 要足
一周热门 更多>