关于STM32的DAC功能请教

2019-07-14 18:20发布

请问STM32F103VET6有没有DAC的功能啊?如果有,为什么会没有DAC输出啊?
这事搞了我两天了,自已实在找不出下面哪里错了,怎么会没有DA输出呢?
DAC输出引脚为PA4(DAC_OUT1)和PA5(DAC_OUT2),我设定的是由软件触发DA输出,基准为电源电压3.3V,下面是DAC输出的程序,还请哪位高人能帮忙看下问题出在哪里?谢谢了!!!
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;          //
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;    //
  GPIO_Init(GPIOA, &GPIO_InitStructure);      //A端口
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;          //
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;    //
  GPIO_Init(GPIOA, &GPIO_InitStructure);      //A端口
  DAC_DeInit();
  DAC_Cmd(DAC_Channel_1,ENABLE); //
  DAC_Cmd(DAC_Channel_2, ENABLE);
  DAC_Structinit(&DAC_Struct);//将DAC_Struct的值设为默认
  DAC_Struct.DAC_Trigger=DAC_Trigger_Software;//由软件触发
  DAC_Struct.DAC_WaveGeneration=DAC_WaveGeneration_None;//关闭波形生成
  DAC_Struct.DAC_LFSRUnmask_TriangleAmplitude=DAC_TriangleAmplitude_4095;
  DAC_Struct.DAC_OutputBuffer=DAC_OutputBuffer_Enable;//使能DAC通道缓存   
  DAC_Init(DAC_Channel_1,&DAC_Struct);
  DAC_Init(DAC_Channel_2,&DAC_Struct);
    /* Enable DAC Channel1 */
  DAC_Cmd(DAC_Channel_1, ENABLE);
  /* Enable DAC Channel2 */
  DAC_Cmd(DAC_Channel_2, ENABLE);

  DAC_SetChannel1Data(DAC_Align_12b_R,0x7ff);//12位右对齐,输出一半的基准电压
  DAC_SetChannel2Data(DAC_Align_12b_R,0x7ff);//输出一半的基准电压

  DAC_DualSoftwareTriggerCmd(ENABLE);//使能软件触发,更新DAC的值
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
雨小了111
1楼-- · 2019-07-15 01:07
我试过了先设置后激活,也不行,还试过在设置前后都激活一次,也不行
而且PA4和PA5,我设为输入浮空,模拟输入和复用开漏都试过了,还是不行
而且我还测量了 VREF+(输入正模拟参考电压),VSSA(输出负模拟参电压)都是对了.
 
雨小了111
2楼-- · 2019-07-15 04:49
结贴,我的DAC时钟没有打开,这种问题竟然害了我几天,我想跳楼了,谢谢各位了!
60user90
3楼-- · 2019-07-15 09:00
你好,我想请问下你的程序中DAC采集的电压值时保存在什么地方,怎么样才能实时动态显示电压,想赐教下,我的帖子,麻烦你看下,帮我下谢谢了哦。
下面是我帖子的链接
http://www.eefocus.com/bbs/article_244_189224.html
miaoye
4楼-- · 2019-07-15 09:38
 您好,我想请问下,当你加入DAC使能之后,对于是先设置后激活DAC使能还是均可以没有先后顺序的问题又尝试过吗?谢谢,求交流

一周热门 更多>