打印
[应用相关]

关于STM32的DAC功能的问题

[复制链接]
2549|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Thorald|  楼主 | 2018-9-23 15:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问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的值
沙发
Bjorn| | 2018-9-23 15:51 | 只看该作者
DAC_Cmd(DAC_Channel_1,ENABLE); //
DAC_Cmd(DAC_Channel_2, ENABLE);
应该先设置后激活,我认为是这个原因。

使用特权

评论回复
板凳
Rollo| | 2018-9-23 15:56 | 只看该作者
请问下你的程序中DAC采集的电压值时保存在什么地方,怎么样才能实时动态显示电压

使用特权

评论回复
地板
Rangar| | 2018-9-23 16:12 | 只看该作者
当你加入DAC使能之后,对于是先设置后激活DAC使能还是均可以没有先后顺序的问题又尝试过吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

183

主题

849

帖子

1

粉丝