CUBEMx中STM32,DAC没有输出值,始终0.062V

2019-07-14 15:21发布

CUBEMx中STM32,DAC没有输出值,始终0.062V,但是直接赋值2048有1.66输出
HAL库很是抓狂,代码如下:


while (1)
  {
         uint32_t i=0;
         uint32_t Data=0;
               
                for(i=0;i<=5;i++)
                {
                        Data=i*500;

      HAL_DAC_SetValue(&hdac, DAC_CHANNEL_1, DAC_ALIGN_12B_R, Data );
                        
                HAL_DAC_Start(&hdac, DAC_CHANNEL_1);
                          
      HAL_DAC_SetValue(&hdac, DAC_CHANNEL_2, DAC_ALIGN_12B_R, Data );
                        
                HAL_DAC_Start(&hdac, DAC_CHANNEL_2);

      printf ("a=%f v ",3.3*(Data/4095));
                        
                        HAL_Delay(1000);
                        HAL_Delay(1000);
                        HAL_Delay(1000);
                        HAL_Delay(1000);
                        HAL_Delay(1000);
                }
  }
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
肥肥飞飞
1楼-- · 2019-07-14 19:24
参考一下例程吧,先把一个通道弄对了,然后在弄2个通道
youxi8745
2楼-- · 2019-07-14 21:55
肥肥飞飞 发表于 2018-12-10 20:25
参考一下例程吧,先把一个通道弄对了,然后在弄2个通道

现在知道了要用软件触发,HAL 中 DAC_TRIGGER_SOFTWARE 这个函数如何实现?
youxi8745
3楼-- · 2019-07-15 02:09
 精彩回答 2  元偷偷看……
肥肥飞飞
4楼-- · 2019-07-15 04:53
软件触发不用写代码,直接在stm32cubeMX中配置就好了,它会自动生成初始化代码的
youxi8745
5楼-- · 2019-07-15 09:17
这个程序不需要软件触发,sConfig.DAC_Trigger = DAC_TRIGGER_NONE;

只需要加一句__HAL_RCC_GPIOA_CLK_ENABLE();

一周热门 更多>