logo资料库

STM32F407VG用软件触发的DAC转换例程.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
STM32F407VG 用软件触发的 DAC 转换例程 本 DAC 是数字转换成电压输出,电压范围为 0 到输入参考电压 VREF+. 代码如下: ynr STM32F407VGT6 /*************************************************************** //文件: main.c //作者: //CPU: //功能: DAC 转换电压 //日期: ****************************************************************/ #include "stm32f4xx.h" 2012.8.22 #define #define #define #define unsigned uchar uint unsigned ulong unsigned unsigned ubit char short long uint DAC_DATA; //DAC 要写入的数据 void DAC_Ch1_Config(void); void DAC1_SET(void); int main(void) { DAC_Ch1_Config(); DAC_DATA=0X05FF; DAC1_SET(); while(1); } //DAC1 配置 //DAC 要写的数据 //写入数据 DAC 转换 /****************************************************************************** * * 函数名: DAC_Ch1_Config * 功能 : DAC1 配置 * 输入 : None * 输出 : None * 返回 : None ******************************************************************************* / void DAC_Ch1_Config(void) 上海美创力罗特维尔电子机械科技有限公司 http://www.rottweil.com.cn
{ 钟 GPIO_InitTypeDef GPIO_InitStructure; DAC_InitTypeDef DAC_InitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); // 打 开 GPIOA 时 RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE); //打开 DCA 时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_Init(GPIOA, &GPIO_InitStructure); //DAC_OUT1=PA.4 //该脚为 AN 模式 /不上拉不下拉 // 以 参 数 初 始 化 GPIOA DAC_InitStructure.DAC_Trigger = DAC_Trigger_Software ; DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None; //只电压输出 DAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitud= DAC_TriangleAmplitude_2047; //软件触发 DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Enable; DAC_Init(DAC_Channel_1, &DAC_InitStructure); 化 DAC1 DAC_Cmd(DAC_Channel_1, ENABLE); 道 } DAC_SetChannel1Data(DAC_Align_12b_R, 0x0000); DAC_SoftwareTriggerCmd(DAC_Channel_1, ENABLE); //分辨力 //使能输出 // 以 参 数 初 始 // 使能 DAC1 通 //写入初始值 0 ///软件触发转换 /****************************************************************************** * * 函数名: DAC1_SET * 功能 : DAC 数据写入 * 输入 : None * 输出 : None * 返回 : None ******************************************************************************/ void DAC1_SET(void) { DAC_SetChannel1Data(DAC_Align_12b_R, DAC_DATA ); DAC_SoftwareTriggerCmd(DAC_Channel_1, ENABLE); //写入数据 //软件触发转换 } 作者:杨年荣 上海美创力罗特维尔电子机械科技有限公司 http://www.rottweil.com.cn
上海美创力罗特维尔电子机械科技有限公司 http://www.rottweil.com.cn
分享到:
收藏