
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 中 DAC_TRIGGER_SOFTWARE 这个函数如何实现?
#define DAC_TRIGGER_SOFTWARE ((uint32_t)(DAC_CR_TSEL1 | DAC_CR_TEN1)) /*!< Conversion started by software trigger for DAC channel */
头文件中,这句的uint32_t不能理解,应该怎样写
只需要加一句__HAL_RCC_GPIOA_CLK_ENABLE();