文章目录

  • 前言
  • 新建工程
  • DAC
  • 工程代码

前言

GD32VF103_环境配置_GPIO_外部中断
GD32VF103_定时器中断
GD32VF103_串口发送_printf_接收中断_DMA
我们前三节写了GPIO, EXTI, TIMER, USART的用例, 本节写DAC的用例, 默认 PA4-DAC0, PA5-DAC1, 我们程序里面默认DAC0输出3.3V的1/2, DAC1输出为3.3V的1/4.

新建工程

打开NucleiStudio:

  • File -> New -> C/C++ Project, 选择C Managed Build
  • 选择GigaDevice RISC-V Project, 填入工程名
  • MCU默认暂时只有GD32VF103, 然后Demo也没法选, 只有Running_LED, 不变
  • 下一步, 完成.

DAC

main.c代码如下:

#include "gd32vf103.h"//PA4 -- DAC0
//PA5 -- DAC1
#define DAC0_OUT_VAL (0x7FF0)   //3.3 * 1/2
#define DAC1_OUT_VAL (0x3FF0)   //3.3 * 1/4int main(void) {rcu_periph_clock_enable(RCU_GPIOA);rcu_periph_clock_enable(RCU_DAC);/* once enabled the DAC, the corresponding GPIO pin is connected to the DAC converter automatically */gpio_init(GPIOA, GPIO_MODE_AIN, GPIO_OSPEED_50MHZ, GPIO_PIN_4);gpio_init(GPIOA, GPIO_MODE_AIN, GPIO_OSPEED_50MHZ, GPIO_PIN_5);dac_deinit();dac_trigger_disable(DAC0);dac_wave_mode_config(DAC0, DAC_WAVE_DISABLE);dac_output_buffer_enable(DAC0);dac_trigger_disable(DAC1);dac_wave_mode_config(DAC1, DAC_WAVE_DISABLE);dac_output_buffer_enable(DAC1);dac_enable(DAC0);dac_data_set(DAC0, DAC_ALIGN_12B_L, DAC0_OUT_VAL);dac_enable(DAC1);dac_data_set(DAC1, DAC_ALIGN_12B_L, DAC1_OUT_VAL);while(1) {}return 0;
}

代码中 DAC_ALIGN_12B_L 靠左12bit对齐, 所以#define DAC0_OUT_VAL (0x7FF0) 就代表了一半输出.
调试运行, 拿出万用表, 测量AVDD电压3.31V, PA4电压为1.65V, PA5电压为0.82V, 符合预期.

工程代码

https://download.csdn.net/download/weifengdq/11947183

GD32VF103_DAC相关推荐

  1. GD32VF103_CAN发送

    文章目录 前言 新建工程 CAN发送 调试运行 工程代码 前言 GD32VF103_环境配置_GPIO_外部中断 GD32VF103_定时器中断 GD32VF103_串口发送_printf_接收中断_ ...

  2. 《嵌入式系统 - RT-Thread开发笔记》手把手教你使用RT-Thread制作GD32 RISC-V系列BSP

    熟悉RT-Thread的朋友都知道,RT-Thread提供了许多BSP,但不是所有的板子都能找到相应的BSP,这时就需要移植新的BSP.RT-Thread的所有BSP中,最完善的BSP就是STM32系 ...

最新文章

  1. 计算机一级题资源,计算机一级B考题汇总(珍贵资源)
  2. SpringMVC中 -- @RequestMapping的作用及用法
  3. 神经网络为什么需要激活函数
  4. Python爬虫之(三)urllib库
  5. 计算机网络通信过程问题解析
  6. LongAdder原理
  7. 微信红包软件可测试,微信抢红包神器测试g2020
  8. Origin峰值拟合、重叠峰拟合
  9. 概率统计及其应用第三章知识总结_高中数学130分,知识点最全总结,高分必看!...
  10. linux 笔记本sd卡,Linux如何使用笔记本自带的SD/MMC读卡器
  11. C#把excel数据转换成DataTable
  12. 荷兰量子生态联盟投资110万欧元开发超导量子处理器
  13. html 自适应 音乐播放器,mmPlayer:一款基于Vue的自适应Web在线音乐播放器
  14. 教你如何安装小熊猫DEV-C++6.7.5版
  15. 数论——佩尔方程变量分解
  16. 呀!原来这就是前端监控系统
  17. 双时格林函数求解原子近似下Hubbard模型
  18. codereview(代码质量管理工具)
  19. photoshop邮票制作教程
  20. Codecombat, 寓教于乐

热门文章

  1. 如何向您的WordPress用户发送短信
  2. 九龙证券|本周5只新股申购,特斯拉、蔚来、理想的供应商来A股了!
  3. 《静夜思》赏析-(李白明月姑娘之二)
  4. css 面包屑 30个字节,纯CSS3编写的面包屑导航收集
  5. 存储区域网络将占下一代数据存储市场的 7%
  6. nginx指令之——tcp_nodelay
  7. 初学者用Qt实现小型运动会成绩管理软件
  8. idea访问mysql出现Access denied for user ‘init yo‘@‘localhost‘ (using password: YES)
  9. CSS权威指南(五)字体
  10. Oracle 中 in 的用法