请问STM32F103VET6有没有DAC的功能?

2019-07-14 17:26发布

请问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的值
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
成长的小师弟
1楼-- · 2019-07-14 21:07
请问下你的程序中DAC采集的电压值时保存在什么地方,怎么样才能实时动态显示电压
hjhdf
2楼-- · 2019-07-14 22:34
 精彩回答 2  元偷偷看……
24不可说
3楼-- · 2019-07-14 23:00
应该有吧
人中狼
4楼-- · 2019-07-15 01:14
我看到的例程里是使用
DAC_InitTypeDef DAC_InitType;,
DAC_InitType.DAC_Trigger=DAC_Trigger_None;        //²»Ê¹Óô¥·¢¹¦ÄÜ TEN1=0
        DAC_InitType.DAC_WaveGeneration=DAC_WaveGeneration_None;//²»Ê¹Óò¨Ðη¢Éú
        DAC_InitType.DAC_LFSRUnmask_TriangleAmplitude=DAC_LFSRUnmask_Bit0;//ÆÁ±Î¡¢·ùÖµÉèÖÃ
        DAC_InitType.DAC_OutputBuffer=DAC_OutputBuffer_Disable ;        //DAC2Êä³ö»º´æ¹Ø±Õ BOFF1=1
        DAC_Init(DAC_Channel_2,&DAC_InitType);         //³õʼ»¯DACͨµÀ1

        DAC_Cmd(DAC_Channel_2, ENABLE);  //ʹÄÜDAC2
  
        DAC_SetChannel2Data(DAC_Align_12b_R, 0);  //12λÓÒ¶ÔÆëÊý¾Ý¸ñʽÉèÖÃDACÖµ

你使用的是DAC_Struct.DAC_Trigger=DAC_Trigger_Software;//由软件触发
不知道是不是这个原因
zhenwei123456
5楼-- · 2019-07-15 05:07
你使用的是DAC_Struct.DAC_Trigger=DAC_Trigger_Software;//由软件触发

一周热门 更多>