DAC和ADC两者之间好像DAC要简单许多

可以简单分为几个步骤:

1、使能GPIO和DAC时钟;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE );      //使能PORTA通道时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE );        //使能DAC通道时钟 

2、初始化DAC相应的GPIO,并将其模式设置为模拟输出(这也是最重要的);

GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;              // 端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;          //模拟输入
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_SetBits(GPIOA,GPIO_Pin_4)    ;                    //PA.4 输出高

3、初始化DAC工作模式

DAC_InitType.DAC_Trigger=DAC_Trigger_None;                        //不使用触发功能 TEN1=0
DAC_InitType.DAC_WaveGeneration=DAC_WaveGeneration_None;          //不使用波形发生
DAC_InitType.DAC_LFSRUnmask_TriangleAmplitude=DAC_LFSRUnmask_Bit0;//屏蔽、幅值设置
DAC_InitType.DAC_OutputBuffer=DAC_OutputBuffer_Disable ;          //DAC1输出缓存关闭 BOFF1=1
DAC_Init(DAC_Channel_1,&DAC_InitType);                            //初始化DAC通道1

4、使能DAC

DAC_Cmd(DAC_Channel_1, ENABLE);  //使能DAC1

5、设置DAC的值,用于改变输出的电压

DAC_SetChannel1Data(DAC_Align_12b_R, 0);  //12位右对齐数据格式设置DAC值

6、当然你还可以再封装一个函数用于设置DAC的值

//设置通道1输出电压
//vol:0~3300,代表0~3.3V
void Dac1_Set_Vol(u16 vol)
{float temp=vol;temp/=1000;temp=temp*4096/3.3;DAC_SetChannel1Data(DAC_Align_12b_R,temp);//12位右对齐数据格式设置DAC值
}

STM32的DAC输出电压相关推荐

  1. STM32实现DAC功能输出音频波形

    目录 一.DAC简介 二.输出周期为2kHz的正弦波 三.音频信号输出 四.参考资料 一.DAC简介 DAC 为数字/模拟转换模块,故名思议,它的作用就是把输入的数字编码,转换成对应的模拟电压输出,它 ...

  2. 【STM32】DAC详解

    00. 目录 文章目录 00. 目录 01. DAC简介 02. DAC主要特性 03. DAC功能说明 04. DAC 双通道转换 05. DAC寄存器 5.1 DAC 控制寄存器 (DAC_CR) ...

  3. stm32的DAC输出

    stm32的DAC输出 一.DAC原理 二.DAC初始化 三.输出正弦波 四.输出音频 一.DAC原理 DAC 为数字/模拟转换模块,故名思议,它的作用就是把输入的数字编码,转换成对 应的模拟电压输出 ...

  4. STM32 系列 DAC的介绍与使用

    STM32网上资料多,对自己来说基本的使用也是很简单的, 我的STM32专栏并没有什么系统的基础教学,基本上是某个项目用到了,或者产品使用过程出过问题 才会来记录一下,正好用到了 DAC ,一般产品还 ...

  5. 基于STM32的DAC音频输出

    基于STM32的DAC音频输出 一.DAC 1.1 DAC简介 1.2 DAC功能框图剖析 二.使用DAC输出周期2kHz的正弦波 2.1 使用Adobe Audition输出一个周期2khz的正弦波 ...

  6. STM32配置DAC输出固定电压和方波

    STM32F103VCT6自带两个12位DAC,DAC的转换速度一直没有查到,网上有人说是1MHZ的频率,那就是1us了.ADC的转换时间在56MHZ工作频率下为1us,在72MHZ工作频率下为1.1 ...

  7. STM32CUBEMX(7)--移植雅特力AT32F403AVGT(兼容STM32F103VGT6),DAC输出电压

    STM32CUBEMX移植雅特力AT32F403AVGT7[兼容STM32F103VGT6]----双串口通过DMA方式接收不定长数据 概述 硬件准备 选择芯片型号 配置时钟源 配置时钟树 DAC配置 ...

  8. 【STM32】DAC程序示例

    00. 目录 文章目录 00. 目录 01. DAC简介 02. 硬件模块 03. 程序设计 04. 结果验证 05. 预留 06. 附录 07. 声明 01. DAC简介 STM32F4的DAC模块 ...

  9. STM32理论 —— DAC、DMA

    文章目录 1. DAC 1.1 内置DAC 1.2 MCP4725 1.3 可编程信号发生器 - AD9833 1.3.1 控制寄存器 1.3.2 频率和相位寄存器 1.3.3 输出引脚 1.3.4 ...

最新文章

  1. windows7 下 安装ipython-5.1.0报错
  2. 按失真类型分类整理TID2008
  3. selectpselect/pollppoll/epoll
  4. 如何获取尚未开票信息(包括交货单、销售订单)
  5. poj3069 Saruman's Army(贪心)
  6. 发一个多CPU中进程与CPU绑定的例子
  7. 未来十年,你的人生目标在哪里?
  8. 跨国际日期分界线的解决方法
  9. Dell服务器中Lsiutil命令常见使用
  10. std::sort使用
  11. Multisim14.0详细安装教程
  12. 超清楚!麦克风阵列学习笔记(一)——线性麦克风阵列的时间延迟Beamforming算法(Time-Delay Beamforming of Microphone ULA Array)
  13. android 微信是否安装app,Android判断手机是否安装微信(总结)
  14. 日语 “何” 的读音问题
  15. 计算机动画设计与影视制作,计算机动画设计及制作中的特效技术
  16. 跨利润中心外协业务生成利润中心结算凭证
  17. 基于约束的装配设计【CadQuery】
  18. Python数据分析报告:北京市每月PM2.5的值和分析影响PM2.5
  19. 阿里云服务器安装WordPress,搭建自己的博客网站
  20. ICCV 2021 最新200篇ICCV2021论文分方向汇总

热门文章

  1. java程序员的消愁--毛不易
  2. 专为UI设计而生,上海道宁与Sketch为广大UI设计师带来更好的设计工具
  3. 百度站长平台主动推送Python源码
  4. Java实现多线程局域网聊天室
  5. 计算机配置管理模板怎么重装,电脑重装与功能设置.docx
  6. 直接查看Z包文本linux,《工作效率篇》Linux命令行十种不解压查看压缩文件的方法...
  7. 计算机之树的概念,2019考研计算机数据结构考点:树的基本概念
  8. SPARKLE的规格与加密算法
  9. ElasticSearch快速入门(三)=> 集成Spring Boot + 效仿京东搜索小实战
  10. 系统维护盘Windwos PE的使用