最近一直在弄用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;
}
1、AD端输入直流信号,或者简单的阶跃信号,DA可以正确还原吗?至少要保证这一步是成功的。
2、如果上一步成功,就找个1Khz的信号源,幅度调适当(可以调着试试),输入给AD,同时DA输出。用示波器测DA端,看有没有对应的波形。
2、有负值的模拟信号必须处理为正,才能送给AD;DA还原出来以后,再处理成正负信号。
b、运放,加法器。
一周热门 更多>