GD32F4XX的配置和函数归纳(4)
1.分析了ADC的例程,看看其中的配置是如何实现的
目录
1.ADC 温度传感器
#include "gd32f4xx.h"
#include "gd32f450z_eval.h"
#include "systick.h"
#include <stdio.h>
float temperature;
float vref_value;
float battery_value;
void rcu_config(void);
void adc_config(void);
int main(void)
{
/* system clocks configuration */
rcu_config();
/* ADC configuration */
adc_config();
/* USART configuration */
gd_eval_com_init(EVAL_COM0);
/* configure systick */
systick_config();
while(1){
/* ADC software trigger enable */
adc_software_trigger_enable(ADC0,ADC_INSERTED_CHANNEL);
/* delay a time in milliseconds */
delay_1ms(2000);
/* value convert */
temperature = (1.42-ADC_IDATA0(ADC0)*3.3/4096)*1000/4.35+25;
vref_value = (ADC_IDATA1(ADC0)*3.3/4096);
battery_value = (ADC_IDATA2(ADC0)*4*3.3/4096);
/* value print */
printf(" the temperature data is %2.0f degrees Celsius\r\n",temperature);
printf(" the reference voltage data is %5.3fV \r\n",vref_value);
printf(" the battery voltage is %5.3fV \r\n",battery_value);
printf(" \r\n");
}
}
1.1 RCU配置
RCU的配置,使能外设时钟函数rcu_periph_clock_enable(),这个函数是将输入的外设时钟给打开。
ADC时钟的配置adc_clock_config(),配置adc的时钟,一个有八种分频方式,调用两种时钟源
这是常用的两个配置语句,给出官方备注以便后面使用
void rcu_config(void)
{
/* enable ADC clock */
rcu_periph_clock_enable(RCU_ADC0);

本文详细介绍了GD32F4XX系列微控制器中ADC模块的配置方法,包括温度传感器、内部参考电压及电池电压测量配置,以及ADC在跟随模式和平行模式下的应用实例。
最低0.47元/天 解锁文章
1297

被折叠的 条评论
为什么被折叠?



