其他分享
首页 > 其他分享> > DAC双通道模板

DAC双通道模板

作者:互联网

#define DAC_C
#include "dac.h"

float DAC_DispenseA;
float DAC_DispenseB;

void MyDAC_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
DAC_InitTypeDef DAC_InitStructure;

//----------GPIO_Init----------
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5;
GPIO_Init(GPIOA, &GPIO_InitStructure);

//----------DAC_Init----------
RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);

DAC_InitStructure.DAC_Trigger = DAC_Trigger_None;
DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None;
DAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitude = DAC_LFSRUnmask_Bit0;
DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Disable;

DAC_Init(DAC_Channel_1, &DAC_InitStructure);
DAC_Init(DAC_Channel_2, &DAC_InitStructure);

//----------ENABLE
DAC_Cmd(DAC_Channel_1, ENABLE);
DAC_Cmd(DAC_Channel_2, ENABLE);
}

void DAC_SetDispenseA(void)
{
DAC_SetChannel1Data(DAC_Align_12b_R, DAC_DispenseA);
}

void DAC_SetDispenseB(void)
{
DAC_SetChannel2Data(DAC_Align_12b_R, DAC_DispenseB);
}

void DAC_Action(void)
{
DAC_SetDispenseA();
DAC_SetDispenseB();
}

标签:ENABLE,DAC,双通道,Init,InitStructure,GPIO,void,模板
来源: https://www.cnblogs.com/PolarBearINBrown/p/16585656.html