最近的项目有用到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输出相关推荐

  1. 基于STM32的DAC音频输出

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

  2. 基于stm32片内Flash数据的DAC输出

    stm32片内Flash的提示音播放 前言 一.DAC简介 二.使用DAC输出单周期的正弦波 三.PCM模块输出音频 前言 使用用Adobe audition音频编辑软件录制"您好欢迎光临! ...

  3. 基于GD32实现CS5530电子秤称重方案及驱动

    1. 概述   CS5530是24 位带有超低噪声放大器的模拟数字转换器,配合压力传感器可以实现高精度的称重(电子秤)方案,本博文将从称重传感器实现原理到如何次采用CS5530实现电子秤称重方案进行详 ...

  4. 【GD32使用】基于GD32的超声波模块开发

    基于GD32的超声波模块开发 代码见下: 首先初始化引脚接口,利用PA11作为Triger触发脚,PB12作为Echo脚. (注意如果采集到的超声波信号一直为0,请检查触发脉宽是否大于10us,另外驱 ...

  5. 蓝桥杯单片机 | 特训案例【进阶06】基于PCF8591的DAC模拟电压输出

    [1]题目要求 新建工程,以I/O模式编写代码,在CT107D单片机综合训练平台上,实现以下功能: 1.将IIC总线的底层驱动代码文件正确移植到工程中. 2.将J5配置BTN模式,把S4设置为独立按键 ...

  6. 基于GD32开发板的GPS定位模块的使用操作

    基于上一章的介绍,本章将介绍如何基于gd32开发板使用gps定位模块. 一.官方代码分析 正点原子的官方测试例程,测试代码的逻辑还是比较简单的,主要就是先调用函数atk_mo1218_init()进行 ...

  7. 动手造轮子:实现一个简单的基于 Console 的日志输出

    动手造轮子:实现一个简单的基于 Console 的日志输出 Intro 之前结合了微软的 Logging 框架和 Serilog 写了一个简单的日志框架,但是之前的用法都是基于 log4net.ser ...

  8. webapi输出炜json_.Net基于MVC4 Web Api输出Json格式实例

    本文实例讲述了.Net基于MVC4 Web Api输出Json格式的方法,分享给大家供大家参考.具体实现方法如下: 1.Global 中增加json输出 GlobalConfiguration.Con ...

  9. 开关造成的毛刺_令人困扰的DAC输出毛刺消灭记

    原标题:令人困扰的DAC输出毛刺消灭记 DAC基础知识:静态技术规格以及它们对DC的偏移.增益和线性等特性的影响在平衡双电阻 (R-2R) 和电阻串数模转换器 (DAC) 的各种拓扑结构间是基本一致的 ...

最新文章

  1. Tensorflow broadcast 广播机制
  2. 解决mysql 1032 主从错误
  3. delphi frame 添加 create onshow 事件
  4. 在aspx页面向iframe中post参数
  5. VTK:网格之ExtractEdges
  6. java类加载过程_面试官:java类的加载过程
  7. 多列集合的索引器实现
  8. android sse 人脸识别,基于Android Camera2之openCamera 流程
  9. shell一周学习心得
  10. python31001python3_Python310第二个alpha版本最新特性值得关注Python 3100a0 文档
  11. 中国象棋ai人工智能(网页版)
  12. RemCom.XFDTD.Bio-Pro.v6.3.8.4
  13. 论文笔记:OverFeat
  14. [PKUWC2018] Minimax
  15. mysql order优化2019_MySQL 效率提高N倍的19条MySQL优化秘籍
  16. 白蛋白纳米-超声微泡载组织型纤溶酶原激活物基因靶向制备研究
  17. 毕业这么多年,为啥升职加薪这么难?
  18. 教您如何远离电脑病?
  19. 沐阳Git笔记04查看版本演变历史
  20. 恶意邮件智能监测与溯源技术研究

热门文章

  1. HTML5期末大作业:汽车商城网站设计——汽车商城-功能齐全(42页) 大学生汽车商城网页设计模板代码 网购网页作业成品 汽车商城网站设计成品
  2. 基于 FPGA 实现滑动显示、多功能数字时钟【设置年月日时分秒以及闹钟】
  3. 集成企业微信,企业微信扫码登录和企业微信容器内免密登录
  4. 【Unity优化篇】 | Unity脚本代码优化策略,快速获取 游戏对象 和 组件 的方法【文末送书】
  5. DeepExploit——当Metasploit遇上机器学习
  6. 心率过100怎么处理_心跳每分钟超过100次,为何血压很正常?心跳太快该怎么办?...
  7. 嵌入式操作体统体系结构
  8. 【计算机系统】LC-3仿真器安装和使用
  9. sap字段及描述底表_SAP常用表及中文描述
  10. 2017年数据可视化的七大趋势!