CUBEMx中STM32,DAC没有输出值,始终0.062V
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\r\n",3.3*(Data/4095));
HAL_Delay(1000);
HAL_Delay(1000);
HAL_Delay(1000);
HAL_Delay(1000);
HAL_Delay(1000);
}
}
静下心来,看看参考手册,或许可以帮你,看看hal内部的源码也是可以嘀!!!! 参考一下例程吧,先把一个通道弄对了,然后在弄2个通道 feiante 发表于 2017-9-22 09:41
参考一下例程吧,先把一个通道弄对了,然后在弄2个通道
现在知道了要用软件触发,HAL 中 DAC_TRIGGER_SOFTWARE 这个函数如何实现? feiante 发表于 2017-9-22 09:41
参考一下例程吧,先把一个通道弄对了,然后在弄2个通道
#define DAC_TRIGGER_SOFTWARE ((uint32_t)(DAC_CR_TSEL1 | DAC_CR_TEN1)) /*!< Conversion started by software trigger for DAC channel */
头文件中,这句的uint32_t不能理解,应该怎样写 软件触发不用写代码,直接在stm32cubeMX中配置就好了,它会自动生成初始化代码的 这个程序不需要软件触发,sConfig.DAC_Trigger = DAC_TRIGGER_NONE;
只需要加一句__HAL_RCC_GPIOA_CLK_ENABLE();
页:
[1]