基于GD32的DAC输出
最近的项目有用到GD32的DAC输出功能,在CSDN查了一下,并没有太多的资料,这里补强一下 今日分享的是,输出DAC电压值(0-3.3V) 硬件部分 GD32F103RCT6开发板
设置DAC参数 ① 引脚
根据数据手册可以看出,PA4(DAC输出通道0),PA5(DAC输出通道1)
②DAC的库函数
我们要用的只要几个而已,下面列出,首先是复位
dac_deint();//DAC外设复位
DAC触发除能
dac_trigger_disable(DAC0);//填DAC0或DAC1
噪声波选择,这里我选择除能
dac_wave_mode_config();//如下图填写形参,例如dac_wave_mode_config(DAC0, DAC_WAVE_DISABLE);
DAC缓冲区使能
DAC_output_buffer_enable();//例如DAC_output_buffer_enable(DAC1);
DAC使能
dac_enable();//例如dac_enable(DAC1);
DAC输出设置,注意下这个函数的dat形参,是通过公式得到的
公式为,电压值=dat*基准电压(我用的内部3.3v)/4096
dac_dat_set();//根据下图填写形参,例如 dac_data_set(DAC1,DAC_ALIGN_12B_R,csdn);
这样就可以随意配置出你想要的电压值
代码整合
void dac_config(void)
{dac_deinit();/* configure the DAC0 */dac_trigger_disable(DAC0);dac_wave_mode_config(DAC0, DAC_WAVE_DISABLE);dac_output_buffer_enable(DAC0);/* configure the DAC1 */dac_trigger_disable(DAC1);dac_wave_mode_config(DAC1, DAC_WAVE_DISABLE);dac_output_buffer_enable(DAC1);/* enable DAC concurrent mode and set data */dac_enable(DAC1);dac_data_set(DAC1,DAC_ALIGN_12B_R,CSDN);
}extern uint8_t IntFlag;
int main(void)
{rcu_ahb_clock_config(RCU_AHB_CKSYS_DIV1);//AHB主频是1分频systick_config();//系统主频108MHZ,采用外部晶振,由两个宏决定(__SYSTEM_CLOCK_108M_PLL_HXTAL与HXTAL_VALUE)rcu_periph_clock_enable(RCU_AF);//管脚复用时钟alternate function clock使能delay_1ms(1000);//等待1秒//配置PA4 PA5 DAC引脚rcu_periph_clock_enable(RCU_GPIOA);//GPIOA时钟使能rcu_periph_clock_enable(RCU_DAC);//DAC时钟使能gpio_init(GPIOA, GPIO_MODE_AIN, GPIO_OSPEED_50MHZ, GPIO_PIN_4 | GPIO_PIN_5);dac_config();//DAC配置while(1){}}
end,欢迎指正 Q群721421120
基于GD32的DAC输出相关推荐
- 基于STM32的DAC音频输出
基于STM32的DAC音频输出 一.DAC 1.1 DAC简介 1.2 DAC功能框图剖析 二.使用DAC输出周期2kHz的正弦波 2.1 使用Adobe Audition输出一个周期2khz的正弦波 ...
- 基于stm32片内Flash数据的DAC输出
stm32片内Flash的提示音播放 前言 一.DAC简介 二.使用DAC输出单周期的正弦波 三.PCM模块输出音频 前言 使用用Adobe audition音频编辑软件录制"您好欢迎光临! ...
- 基于GD32实现CS5530电子秤称重方案及驱动
1. 概述 CS5530是24 位带有超低噪声放大器的模拟数字转换器,配合压力传感器可以实现高精度的称重(电子秤)方案,本博文将从称重传感器实现原理到如何次采用CS5530实现电子秤称重方案进行详 ...
- 【GD32使用】基于GD32的超声波模块开发
基于GD32的超声波模块开发 代码见下: 首先初始化引脚接口,利用PA11作为Triger触发脚,PB12作为Echo脚. (注意如果采集到的超声波信号一直为0,请检查触发脉宽是否大于10us,另外驱 ...
- 蓝桥杯单片机 | 特训案例【进阶06】基于PCF8591的DAC模拟电压输出
[1]题目要求 新建工程,以I/O模式编写代码,在CT107D单片机综合训练平台上,实现以下功能: 1.将IIC总线的底层驱动代码文件正确移植到工程中. 2.将J5配置BTN模式,把S4设置为独立按键 ...
- 基于GD32开发板的GPS定位模块的使用操作
基于上一章的介绍,本章将介绍如何基于gd32开发板使用gps定位模块. 一.官方代码分析 正点原子的官方测试例程,测试代码的逻辑还是比较简单的,主要就是先调用函数atk_mo1218_init()进行 ...
- 动手造轮子:实现一个简单的基于 Console 的日志输出
动手造轮子:实现一个简单的基于 Console 的日志输出 Intro 之前结合了微软的 Logging 框架和 Serilog 写了一个简单的日志框架,但是之前的用法都是基于 log4net.ser ...
- webapi输出炜json_.Net基于MVC4 Web Api输出Json格式实例
本文实例讲述了.Net基于MVC4 Web Api输出Json格式的方法,分享给大家供大家参考.具体实现方法如下: 1.Global 中增加json输出 GlobalConfiguration.Con ...
- 开关造成的毛刺_令人困扰的DAC输出毛刺消灭记
原标题:令人困扰的DAC输出毛刺消灭记 DAC基础知识:静态技术规格以及它们对DC的偏移.增益和线性等特性的影响在平衡双电阻 (R-2R) 和电阻串数模转换器 (DAC) 的各种拓扑结构间是基本一致的 ...
最新文章
- Tensorflow broadcast 广播机制
- 解决mysql 1032 主从错误
- delphi frame 添加 create onshow 事件
- 在aspx页面向iframe中post参数
- VTK:网格之ExtractEdges
- java类加载过程_面试官:java类的加载过程
- 多列集合的索引器实现
- android sse 人脸识别,基于Android Camera2之openCamera 流程
- shell一周学习心得
- python31001python3_Python310第二个alpha版本最新特性值得关注Python 3100a0 文档
- 中国象棋ai人工智能(网页版)
- RemCom.XFDTD.Bio-Pro.v6.3.8.4
- 论文笔记:OverFeat
- [PKUWC2018] Minimax
- mysql order优化2019_MySQL 效率提高N倍的19条MySQL优化秘籍
- 白蛋白纳米-超声微泡载组织型纤溶酶原激活物基因靶向制备研究
- 毕业这么多年,为啥升职加薪这么难?
- 教您如何远离电脑病?
- 沐阳Git笔记04查看版本演变历史
- 恶意邮件智能监测与溯源技术研究
热门文章
- HTML5期末大作业:汽车商城网站设计——汽车商城-功能齐全(42页) 大学生汽车商城网页设计模板代码 网购网页作业成品 汽车商城网站设计成品
- 基于 FPGA 实现滑动显示、多功能数字时钟【设置年月日时分秒以及闹钟】
- 集成企业微信,企业微信扫码登录和企业微信容器内免密登录
- 【Unity优化篇】 | Unity脚本代码优化策略,快速获取 游戏对象 和 组件 的方法【文末送书】
- DeepExploit——当Metasploit遇上机器学习
- 心率过100怎么处理_心跳每分钟超过100次,为何血压很正常?心跳太快该怎么办?...
- 嵌入式操作体统体系结构
- 【计算机系统】LC-3仿真器安装和使用
- sap字段及描述底表_SAP常用表及中文描述
- 2017年数据可视化的七大趋势!