while (!adc_flag_get(ADC0, ADC_FLAG_EOC));// 清除转换完成标志 adc_flag_clear(ADC0, ADC_...
adc_regular_channel_config(ADC0, 0, adc_channel, ADC_SAMPLETIME_55POINT5); adc_software_trigger_enable(ADC0,ADC_REGULAR_CHANNEL); while(!adc_flag_get(ADC0, ADC_FLAG_EOC));//等待转换完成 /* clear the end of conversion flag */ adc_flag_clear(ADC0, ADC_FLAG_EOC); ADC_temp=adc_reg...
ADC的中断总共有三种:规则组转换结束中断、注入组转换结束中断以及模拟看门狗,可以通过将ADC_CTL0中的EOCIE、EOICIE和WDEIE置“1”来开启相应中断。 ADC_STAT寄存器中的EOC、EOIC和WDE表示相应事件发生,EOC置“1”表示规则组的转换已经结束;EOIC置“1”表示注入组的转换已经结束,注意:注入组转换结束时,EOC标志...
ADC_FLAG_EOC)); // 等待转换完成 return adc_regular_data_read(ADC); // 读取转换结果 } ...
unsigned short adc0_transfer(unsigned char adc_channel){uint16_t ADC_temp; /* ADC regular channel config */ adc_regular_channel_config(ADC0, 0, adc_channel, ADC_SAMPLETIME_55POINT5);adc_software_trigger_enable(ADC0,ADC_REGULAR_CHANNEL); while(!adc_flag_get(ADC0, ADC_FLAG_EOC));//...
6.1.ADC 基础知识 12 位逐次逼近式模数转换器模块(ADC),可以采样来自于外部输入通道、内部输入通道的模拟信号,采样转换后,转换结果可以按照最低有效位对齐或最高有效位对齐的方式保存在相应的数据寄存器中。 6.2.GD32 ADC外设原理 GD32 ADC 主要特性 ◼ 高性能: ...
6.1.ADC 基础知识 12 位逐次逼近式模数转换器模块(ADC),可以采样来自于外部输入通道、内部输入通道的模拟信号,采样转换后,转换结果可以按照最低有效位对齐或最高有效位对齐的方式保存在相应的数据寄存器中。 6.2.GD32 ADC 外设原理 GD32 ADC 主要特性 ◼ 高性能: –
步骤1: 查看开发板的电路原理图,确定adc的使用引脚,使用的是引脚PF6,即adc012_IN4,如下图: 步骤2: 使用env工具开启adc外设,并选择配置相应的adc外设,如下如 步骤3:打开drv_adc.c文件,修改代码 修改后代码如下,也可以全部修改为GET_PIN(F, 6)
ADC_STAT寄存器中的EOC、EOIC和WDE表示相应事件发生,EOC置“1”表示规则组的转换已经结束;EOIC置“1”表示注入组的转换已经结束,注意:注入组转换结束时,EOC标志位也会置起。 GD32F303的ADC原理部分就介绍到这里,下面我们通过电源电压单通道采样实验来详细介绍下ADC的用法。
内部ADC实现代码很简单,配置函数如下: AI检测代码解析 /* brief Configure the ADC peripheral param[in] none param[out] none retval none */ voidadc_config(void) { /* enable GPIOC clock */ rcu_periph_clock_enable(RCU_GPIOC); /* enable ADC0 clock */ ...