本小节讲解DAC_Example历程中DAC模块的配置说明,主要包括外设时钟配置、GPIO引脚配置、DAC外设配置、主函数介绍以及运行结果。本例程主要介绍GD32 MCU各系列DAC0模块输出模拟电压,有关DAC其他功能例程可参考各系列固件库例程。 外设时钟配置 外设时钟配置如代码清单DAC例程时钟配置所示,在GD32全系列MCU中需打开GPIOA和DAC...
本小节讲解DAC_Example历程中DAC模块的配置说明,主要包括外设时钟配置、GPIO引脚配置、DAC外设配置、主函数介绍以及运行结果。本例程主要介绍GD32 MCU各系列DAC0模块输出模拟电压,有关DAC其他功能例程可参考各系列固件库例程。 外设时钟配置 外设时钟配置如代码清单DAC例程时钟配置所示,在GD32全系列MCU中需打开GPIOA和DAC...
gpio_mode_set(GPIOA, GPIO_MODE_ANALOG, GPIO_PUPD_NONE, GPIO_PIN_4);#endif } DAC 外设配置 ...
dac_data_set(DAC0, DAC_ALIGN_12B_R,0); 第二个参数设置对齐方式,可以为 12 位右对齐DAC_ALIGN_12B_R, 12 位左对齐DAC_ALIGN_12B_L 以及 8 位右对齐 DAC_ALIGN_8B_R方式。 第三个参数就是 DAC 的输入值了,这个很好理解,初始化设置为 0。这里,还可以读出 DAC 的数值,函数是: ...
DAC_CTL的低 16 位用于控制通道0,而高 16 位用于控制通道 1,我们这里仅列出比较重要的最低 8 位的详细描述。 首先,我们来看 DAC 通道0使能位(DEN0),该位用来控制 DAC 通道 0使能的,本章我们就是用的 DAC 通道 0,所以该位设置为 1。 再看关闭 DAC 通道 0输出缓存控制位(DBOFF0),这里 GD32 的 DA...
dac_dat_set();//根据下图填写形参,例如 dac_data_set(DAC1,DAC_ALIGN_12B_R,csdn); 这样就可以随意配置出你想要的电压值 代码整合 voiddac_config(void){dac_deinit();/* configure the DAC0 */dac_trigger_disable(DAC0);dac_wave_mode_config(DAC0,DAC_WAVE_DISABLE);dac_output_buffer_enable(DAC...
dac_data_set(DAC_ALIGN_12B_R, value); } 接下来是锯齿波和方波的代码,这两个代码比较简单: void plot_triangle(uint32_t f, uint32_t delta_f) { /* 定时周期为T=1/delta_f, f=1/(pMax*T) */ static uint32_t point = 0; uint32_t pMAX = delta_f/f; ...
dac_data_set(DAC_ALIGN_12B_R, value); } 接下来是锯齿波和方波的代码,这两个代码比较简单: void plot_triangle(uint32_t f, uint32_t delta_f) { /* 定时周期为T=1/delta_f, f=1/(pMax*T) */ static uint32_t point = 0; uint32_t pMAX = delta_f/f; ...
dac_data_set(DAC_ALIGN_12B_R, value); } 接下来是锯齿波和方波的代码,这两个代码比较简单: void plot_triangle(uint32_t f, uint32_t delta_f) { /* 定时周期为T=1/delta_f, f=1/(pMax*T) */ static uint32_t point = 0; uint32_t pMAX = delta_f/f; ...
56 F1和F4的库差别不小,建议你先用F4的例程试一下 感谢回复。DAC和ADC的初始化就是用的官方例程。