STM32的DAC输出电压
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输出电压相关推荐
- STM32实现DAC功能输出音频波形
目录 一.DAC简介 二.输出周期为2kHz的正弦波 三.音频信号输出 四.参考资料 一.DAC简介 DAC 为数字/模拟转换模块,故名思议,它的作用就是把输入的数字编码,转换成对应的模拟电压输出,它 ...
- 【STM32】DAC详解
00. 目录 文章目录 00. 目录 01. DAC简介 02. DAC主要特性 03. DAC功能说明 04. DAC 双通道转换 05. DAC寄存器 5.1 DAC 控制寄存器 (DAC_CR) ...
- stm32的DAC输出
stm32的DAC输出 一.DAC原理 二.DAC初始化 三.输出正弦波 四.输出音频 一.DAC原理 DAC 为数字/模拟转换模块,故名思议,它的作用就是把输入的数字编码,转换成对 应的模拟电压输出 ...
- STM32 系列 DAC的介绍与使用
STM32网上资料多,对自己来说基本的使用也是很简单的, 我的STM32专栏并没有什么系统的基础教学,基本上是某个项目用到了,或者产品使用过程出过问题 才会来记录一下,正好用到了 DAC ,一般产品还 ...
- 基于STM32的DAC音频输出
基于STM32的DAC音频输出 一.DAC 1.1 DAC简介 1.2 DAC功能框图剖析 二.使用DAC输出周期2kHz的正弦波 2.1 使用Adobe Audition输出一个周期2khz的正弦波 ...
- STM32配置DAC输出固定电压和方波
STM32F103VCT6自带两个12位DAC,DAC的转换速度一直没有查到,网上有人说是1MHZ的频率,那就是1us了.ADC的转换时间在56MHZ工作频率下为1us,在72MHZ工作频率下为1.1 ...
- STM32CUBEMX(7)--移植雅特力AT32F403AVGT(兼容STM32F103VGT6),DAC输出电压
STM32CUBEMX移植雅特力AT32F403AVGT7[兼容STM32F103VGT6]----双串口通过DMA方式接收不定长数据 概述 硬件准备 选择芯片型号 配置时钟源 配置时钟树 DAC配置 ...
- 【STM32】DAC程序示例
00. 目录 文章目录 00. 目录 01. DAC简介 02. 硬件模块 03. 程序设计 04. 结果验证 05. 预留 06. 附录 07. 声明 01. DAC简介 STM32F4的DAC模块 ...
- 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 ...
最新文章
- windows7 下 安装ipython-5.1.0报错
- 按失真类型分类整理TID2008
- selectpselect/pollppoll/epoll
- 如何获取尚未开票信息(包括交货单、销售订单)
- poj3069 Saruman's Army(贪心)
- 发一个多CPU中进程与CPU绑定的例子
- 未来十年,你的人生目标在哪里?
- 跨国际日期分界线的解决方法
- Dell服务器中Lsiutil命令常见使用
- std::sort使用
- Multisim14.0详细安装教程
- 超清楚!麦克风阵列学习笔记(一)——线性麦克风阵列的时间延迟Beamforming算法(Time-Delay Beamforming of Microphone ULA Array)
- android 微信是否安装app,Android判断手机是否安装微信(总结)
- 日语 “何” 的读音问题
- 计算机动画设计与影视制作,计算机动画设计及制作中的特效技术
- 跨利润中心外协业务生成利润中心结算凭证
- 基于约束的装配设计【CadQuery】
- Python数据分析报告:北京市每月PM2.5的值和分析影响PM2.5
- 阿里云服务器安装WordPress,搭建自己的博客网站
- ICCV 2021 最新200篇ICCV2021论文分方向汇总
热门文章
- java程序员的消愁--毛不易
- 专为UI设计而生,上海道宁与Sketch为广大UI设计师带来更好的设计工具
- 百度站长平台主动推送Python源码
- Java实现多线程局域网聊天室
- 计算机配置管理模板怎么重装,电脑重装与功能设置.docx
- 直接查看Z包文本linux,《工作效率篇》Linux命令行十种不解压查看压缩文件的方法...
- 计算机之树的概念,2019考研计算机数据结构考点:树的基本概念
- SPARKLE的规格与加密算法
- ElasticSearch快速入门(三)=> 集成Spring Boot + 效仿京东搜索小实战
- 系统维护盘Windwos PE的使用