最近一直在弄用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;
}
---------------------------------
# xuande
可以帮忙看看程序吗?麻烦你了,谢谢!
@ xuande
---------------------------------
今天下午又调试了很久,终于有声音出来了,不过喇叭有噪音,不管有没有说话,喇叭都会“沙沙沙”的响,怎么会这样呢?麻烦你指导一下,谢谢!!下面是播放声音的电路图
1、AD - DA 通道,输出波形正常吗?必须正常,这是根本,否则永远别想成功。
2、功放部分。用一个全部是正电压的声音信号,送到 1uF 电容的前端,调节音量,必须能够正常播音。
缺一不可。
#xuande
---------------------------------
我把声音采集电路直接接到播放电路(下面图中OUT端接DA端),对着咪头说话,可以听到比较清晰的声音,电路如下
声音采集电路
播放电路
---------------------------------
你不是说加偏置吗?上面那个LM358电路的输出已经偏置了的模拟信号,然后输入给AD
一周热门 更多>