ever since
获得 0 次赞
帮助过0人
问题: STM32L152RC 在使用DAC时,最低电压总是到不了0V ,刚开始以为是自己板子问题,后来用discovery板子还是到不了0V。 比如我用是这个语句过后 DAC_SetChannel1Data(DAC_Align_12b_R,2); 输出为50mV,而且只有在DAC设定值大于某个值的时候,DAC的输出才随着DAC 寄存器的值增加而增加。 开发环境:STM32CUBE + KEIL + STM32L152RC discovery 请问板上的大神们有没有遇到这样的问题,烦请赐教,谢谢! 配置过程:void DAC_Config(void) { /* Enable GPIOA clock */ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE); /* Configure PA.04 (DAC_OUT1) in analog mode -------------------------*/ GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; GPIO_Init(GPIOA, &GPIO_InitStructure); /* Enable DAC clock */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE); /* DAC channel1 Configuration */ DAC_InitStructure.DAC_Trigger = DAC_Trigger_None; DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None; DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Enable; /* DAC Channel1 Init */ DAC_Init(DAC_Channel_1, &DAC_InitStructure); /* Enable DAC Channel1 */ DAC_Cmd(DAC_Channel_1, ENABLE); } 配置好过后调用下面语句设置dac值: DAC_SetChannel1Data(DAC_Align_12b_R,2);