下面是STM32 DAc的配置,当vout=0时输出电压不是0而是1.8v 其他数字也不是按照数据手册上的公式,

void DAC_Configurture(uint16_t Vout)
{
DAC_InitTypeDef DAC_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOA, &GPIO_InitStructure);
/* DAC channel1 Configuration */
DAC_InitStructure.DAC_Trigger = DAC_Trigger_None;
DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None;
DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Disable;
DAC_Init(DAC_Channel_1, &DAC_InitStructure);
DAC_Cmd(DAC_Channel_1, ENABLE);
DAC_SoftwareTriggerCmd( DAC_Channel_1, ENABLE);
DAC_SetChannel1Data(DAC_Align_12b_R, Vout);
DAC_SoftwareTriggerCmd( DAC_Channel_1, ENABLE);
}

我的解决了,不知道你买的板子是否跟我一样,是什么HY-MINI STM32V的,我的问题是硬件的问题。我看程序应该没有问题。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答