用AD转换声音信号,DA还原声音,一直实现不了,论坛里有人做过吗?

2019-07-20 23:10发布

最近一直在弄用AD转换声音信号,然后用DA还原播放声音,可是一直都实现不了,希望有人指导一下,谢谢!以下是主要的代码(我是采用DMA方式传输的)
AD主要代码(在AD的实验上加了DMA配置和定时器2中断实现AD开始转换):
#define ADC1_DR_Address    0x4001244C
u16 ADC_Value;
//DMA配置

//定时器2配置



DAC1主要代码(利用DMA传输、定时器6定时触发DAC)
#define DAC_DHR12R1_Address      0x40007408
uint16_t DAC_Value;



主函数主要部分
extern u16 ADC_Value;
extern uint16_t DAC_Value;

DMA_Config(ADC1_DR_Address,(u32)&ADC_Value,1);
再初始化其他函数后
while(1)
{
DAC_Value = ADC_Value;
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
49条回答
xuande
1楼-- · 2019-07-25 12:25
 精彩回答 2  元偷偷看……
伊轩海
2楼-- · 2019-07-25 17:37
回复【37楼】xuande:
---------------------------------
我设置AD为12位右对齐,然后取高8位(右移了4位:ADC_Value>>4),再设置DA为8位右对齐,结果有声音出来了,不过声音没12位的那么好,这样是不是表示8位的可以了???
xuande
3楼-- · 2019-07-25 21:32
8位声音,肯定没有12位好。

这情况,应该正常了。

刚才,可能 DA 端没有右移?
伊轩海
4楼-- · 2019-07-26 02:18
回复【40楼】xuande:
---------------------------------
而且我发现,如果只取12位AD的低8位,是不行的,喇叭发出很大的噪音。。貌似只可以取其高8位,想不懂,请解释解释,谢谢啦!
xuande
5楼-- · 2019-07-26 06:39
 精彩回答 2  元偷偷看……
伊轩海
6楼-- · 2019-07-26 08:29
 精彩回答 2  元偷偷看……

一周热门 更多>