starcool 发表于 2012-7-13 11:57:09

RE:DAC问题求助,没信号输出【悬赏问答】

你是用DAC作正弦输出的么。是用于控制的吗?如果是,不妨试试用查正弦表的方法,简单,而且可靠些。

bkc 发表于 2012-7-14 08:11:42

回复:DAC问题求助,没信号输出【悬赏问答】

回复第 10 楼 于2012-07-13 09:49:07发表:
试下这段代码
void DAC_Configuration(void)
{

DAC_InitTypeDef DAC_InitStruct;
GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

/* Configure DAC channe1 outputs pins */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;   
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOA, &GPIO_InitStructure);
DAC_DeInit();
DAC_Cmd(DAC_Channel_1,ENABLE); //
//DAC_Cmd(DAC_Channel_2, ENABLE);
DAC_StructInit(&DAC_InitStruct);//将DAC_Struct的值设为默认
DAC_InitStruct.DAC_Trigger=DAC_Trigger_Software;//由软件触发
DAC_InitStruct.DAC_WaveGeneration=DAC_WaveGeneration_None;//关闭波形生成
DAC_InitStruct.DAC_LFSRUnmask_TriangleAmplitude=DAC_TriangleAmplitude_4095;
DAC_InitStruct.DAC_OutputBuffer=DAC_OutputBuffer_Enable;//使能DAC通道缓存   
DAC_Init(DAC_Channel_1,&DAC_InitStruct);
/* Enable DAC Channel1 */
DAC_Cmd(DAC_Channel_1, ENABLE);
DAC_SetChannel1Data(DAC_Align_12b_R,0x000);//12位右对齐,
DAC_DualSoftwareTriggerCmd(ENABLE);//使能软件触发,更新DAC的值
}
 

你这个是三角波吧,三角波我试过,是对的

bkc 发表于 2012-7-14 08:15:30

回复:DAC问题求助,没信号输出【悬赏问答】

回复第 9 楼 于2012-07-12 19:10:16发表:
肯定是DMA设置不对,仔细查查。我试过可以哈 

u16 Sine12bit = {2047, 2447, 2831, 3185, 3498, 3750, 3939, 4056, 4095, 4056,
                      3939, 3750, 3495, 3185, 2831, 2447, 2047, 1647, 1263, 909, 
                      599, 344, 155, 38, 0, 38, 155, 344, 599, 909, 1263, 1647};

u32 DualSine12bit;
u8 Idx = 0;

for (Idx= 0; Idx

bkc 发表于 2012-7-14 08:16:53

回复:DAC问题求助,没信号输出【悬赏问答】

回复第 11 楼 于2012-07-13 11:57:09发表:
你是用DAC作正弦输出的么。是用于控制的吗?如果是,不妨试试用查正弦表的方法,简单,而且可靠些。 

确实是做正弦输出,查正弦表就是这个方法吧

bkc 发表于 2012-7-14 08:17:51

回复:DAC问题求助,没信号输出【悬赏问答】

回复第 8 楼 于2012-07-12 15:42:05发表:
很有可能是DMA配置项的问题,顺便看看DAC数据寄存器的值对不对。 

求教您是怎样配置的,能否借鉴一下?非常感谢

bkc 发表于 2012-7-14 08:22:31

回复:DAC问题求助,没信号输出【悬赏问答】

回复第 7 楼 于2012-07-12 15:32:08发表:
你仔细检查一下你的DMA配置项,看看是不是哪里没有设置对,看一下地址引用的地方是不是有问题。 

我新手,能再详细一点吗?

发表于 2012-7-14 09:35:06

RE:DAC问题求助,没信号输出【悬赏问答】

1、DAC的对其方式没有选择
2、 DAC_WaveGeneration_None这个是不是应该选择DAC_WaveGeneration_Noise
3、我看了程序,那个32位的是因为用到了DMAEN2:DAC通道2 DMA使能 (DAC channel2 DMA enable)功能,如果你不用,就用16位就可以了。

cj837175840 发表于 2013-6-26 16:20:22

回复:DAC问题求助,没信号输出【悬赏问答】

回复第 10 楼 于2012-07-13 09:49:07发表:
试下这段代码
void DAC_Configuration(void)
{

DAC_InitTypeDef DAC_InitStruct;
GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

/* Configure DAC channe1 outputs pins */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;   
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOA, &GPIO_InitStructure);
DAC_DeInit();
DAC_Cmd(DAC_Channel_1,ENABLE); //
//DAC_Cmd(DAC_Channel_2, ENABLE);
DAC_StructInit(&DAC_InitStruct);//将DAC_Struct的值设为默认
DAC_InitStruct.DAC_Trigger=DAC_Trigger_Software;//由软件触发
DAC_InitStruct.DAC_WaveGeneration=DAC_WaveGeneration_None;//关闭波形生成
DAC_InitStruct.DAC_LFSRUnmask_TriangleAmplitude=DAC_TriangleAmplitude_4095;
DAC_InitStruct.DAC_OutputBuffer=DAC_OutputBuffer_Enable;//使能DAC通道缓存   
DAC_Init(DAC_Channel_1,&DAC_InitStruct);
/* Enable DAC Channel1 */
DAC_Cmd(DAC_Channel_1, ENABLE);
DAC_SetChannel1Data(DAC_Align_12b_R,0x000);//12位右对齐,
DAC_DualSoftwareTriggerCmd(ENABLE);//使能软件触发,更新DAC的值
}
DAC_DeInit();这句话的定义是
RCC_APB1PeriphResetCmd(RCC_APB1Periph_DAC, ENABLE);RCC_APB1PeriphResetCmd(RCC_APB1Periph_DAC, DISABLE);把DAC的时钟关了,在后面的哪句话再打开的?


 

wuyjjj 发表于 2013-6-30 03:25:27

RE:DAC问题求助,没信号输出【悬赏问答】

需要开发一个带屏显的 MP3 WAV FLAC(最好还能ape)播放器 关键是要可以带I2S接口 我可以外接DAC!价格商量我QQ:973548479
页: 1 [2]
查看完整版本: DAC问题求助,没信号输出【悬赏问答】