第四周-GD32F4XX的配置和函数归纳(4)

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

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);
    
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值