RISC-V技术论坛
直播中

jf_15811252

3年用户 252经验值
擅长:嵌入式技术
私信 关注
[经验]

【兆易创新GD32VF103R-START开发板试用体验】DAC测试

在昨天翻数据手册的时候突然发现GD32VF103RBT6带了两路的DAC,分别为PA4和PA5引脚。本次使用DAC0进行电压输出,并且降DAC的设置值与输出电压显示在OLED屏幕上。
首先新建工程,选择的是MRS开发环境,只需将之前的工程设为模块即可。在工程的user_file下新建DAC文件夹,并且添加其头文件路径。
新建DAC文件夹.jpg
DAC初始化
  1. #include "dac.h"

  2. void dac_init(void)
  3. {
  4.     rcu_periph_clock_enable(RCU_GPIOA);
  5.     rcu_periph_clock_enable(RCU_DAC);

  6.     gpio_init(RCU_GPIOA,GPIO_MODE_AIN , GPIO_OSPEED_50MHZ, GPIO_PIN_4);
  7.     dac_deinit();
  8.     dac_dma_disable(DAC0);
  9.     dac_trigger_disable(DAC0);
  10.     dac_wave_mode_config(DAC0, DAC_WAVE_DISABLE);
  11.     dac_output_buffer_enable(DAC0);
  12.     dac_enable(DAC0);

  13. }
头文件

  1. #ifndef USER_FILE_DAC_DAC_H_
  2. #define USER_FILE_DAC_DAC_H_

  3. #include "gd32vf103.h"


  4. void dac_init(void);

  5. #endif /* USER_FILE_DAC_DAC_H_ */
主函数引用dac.h头文件,在OLED显示函数中没有编写浮点型显示函数,所以调用sprintf将内容映射到OLED字符串显示函数中
主函数.jpg
结果:150/4096.0*3.3=0.12084v
1653976532782.jpg.jpg


更多回帖

发帖
×
20
完善资料,
赚取积分