野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13885|回复: 4

录音与回放问题请教

[复制链接]
发表于 2017-5-3 11:13:18 | 显示全部楼层 |阅读模式
录音与回放实验中的源码有段代码不是很理解
在static void StartRecord(const char *filename)
{
.....
        I2Sx_Mode_Config(g_FmtList[Recorder.ucFmtIdx][0],g_FmtList[Recorder.ucFmtIdx][1],g_FmtList[Recorder.ucFmtIdx][2]);
        I2Sxext_Mode_Config(g_FmtList[Recorder.ucFmtIdx][0],g_FmtList[Recorder.ucFmtIdx][1],g_FmtList[Recorder.ucFmtIdx][2]);
       
        I2Sx_TX_DMA_Init(&recplaybuf[0],&recplaybuf[1],1);
        DMA_ITConfig(I2Sx_TX_DMA_STREAM,DMA_IT_TC,DISABLE);//开启传输完成中断
       
        I2S_DMA_RX_Callback=Recorder_I2S_DMA_RX_Callback;
        I2Sxext_RX_DMA_Init(buffer0,buffer1,RECBUFFER_SIZE);
         
        I2S_Play_Start();
        I2Sxext_Recorde_Start();
}


StartRecord函数是用来开启录音的,也就是一般是用来接收数据的,但为什么又要开启数据发送DMA呢?

而对比播放函数就只有发送数据。
static void StartPlay(const char *filename)
{
。。。。

        I2Sx_Mode_Config(g_FmtList[Recorder.ucFmtIdx][0],g_FmtList[Recorder.ucFmtIdx][1],g_FmtList[Recorder.ucFmtIdx][2]);
        I2Sxext_Mode_Config(g_FmtList[Recorder.ucFmtIdx][0],g_FmtList[Recorder.ucFmtIdx][1],g_FmtList[Recorder.ucFmtIdx][2]);
       
        I2Sxext_RX_DMA_Init(&recplaybuf[0],&recplaybuf[1],1);
        DMA_ITConfig(I2Sxext_RX_DMA_STREAM,DMA_IT_TC,DISABLE);//开启传输完成中断
  I2Sxext_Recorde_Stop();
       
        I2Sx_TX_DMA_Init(buffer0,buffer1,RECBUFFER_SIZE);               
        I2S_Play_Start();
}



回复

使用道具 举报

发表于 2017-5-3 11:53:01 | 显示全部楼层
录音的时候有个功能是同时播放
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-3 14:46:11 | 显示全部楼层
那录音的时候是通过StartRecord中调用I2Sx_TX_DMA_Init(&recplaybuf[0],&recplaybuf[1],1);来实现播放吗?那录音的数据又是怎样放到recplaybuf中再播放呢?录音的数据不是通过I2Sxext_RX_DMA_Init(buffer0,buffer1,RECBUFFER_SIZE);放在buffer中的吗?
回复 支持 反对

使用道具 举报

发表于 2017-5-4 10:00:36 | 显示全部楼层
这是录音芯片的要求,录音时发送,其实就是2个16位为0的数据
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-4 10:07:17 | 显示全部楼层
了解,正跟测试的结果一样,我把上面TX部分的code去掉,就发现每次文件都是只有head数据。谢谢了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-1-16 04:56 , Processed in 0.032261 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表