4.STM32 ADC单通道 库函数 (基于正点原子STM32板)

ADC库函数版本

一、对ADC的配置
ADC与GPIO对照表
ADC与GPIO对照表
1.GPIO和ADC初始化

	GPIO_InitTypeDef GPIO_InitStructure;
	ADC_InitTypeDef ADC_InitStructure;

2.开启ADC时钟(本文使用ADC1通道8PB0)

	RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
	//ADC_DeInit(ADC1); 此段是ADC1时钟复位

3.设置分频因子
分频因子要确保ADC1 的时钟(ADCCLK)不要超过14Mhz。

RCC_ADCCLKConfig(RCC_PCLK2_Div6);

备注:

本段为备注:
#define RCC_PCLK2_Div2                   ((uint32_t)0x00000000)
#define RCC_PCLK2_Div4                   ((uint32_t)0x00004000)
#define RCC_PCLK2_Div6                   ((uint32_t)0x00008000)
#define RCC_PCLK2_Div8                   ((uint32_t)0x0000C000)
//本段代码在stm32f10x_rcc.h中包含,相当于72M除以2/4/6/8得出分频数


3.初始化ADC1 参数,设置ADC1 的工作模式以及规则序列的相关信息。

ADC_InitTypeDef ADC_InitStructure;
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //ADC 工作模式:独立模式
ADC_InitStructure.ADC_ScanConvMode = DISABLE; //AD 单通道模式
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE; //AD 单次转换模式
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
//转换由软件而不是外部触发启动
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //ADC 数据右对齐
ADC_InitStructure.ADC_NbrOfChannel = 1; //顺序进行规则转换的ADC 通道的数目1
ADC_Init(ADC1, &ADC_InitStructure); //根据指定的参数初始化外设ADCx
//本段代码中所对应的设置参数略

5.使能并校准

使能指定的ADC 的方法是:
ADC_Cmd(ADC1, ENABLE); //使能指定的ADC1
执行复位校准的方法是:
ADC_ResetCalibration(ADC1);
执行ADC 校准的方法是:
ADC_StartCalibration(ADC1); //开始指定ADC1 的校准状态
记住,每次进行校准之后要等待校准结束。这里是通过获取校准状态来判断是否校准是否结束。
下面我们一一列出复位校准和AD 校准的等待结束方法:
while(ADC_GetResetCalibrationStatus(ADC1)); //等待复位校准结束
while(ADC_GetCalibrationStatus(ADC1)); //等待校AD 准结束

6.读取ADC的值

ADC_RegularChannelConfig(ADC1, ADC_Channel_8, 1,,ADC_SampleTime_239Cycles5 );
备注:1位规则序列中的第一个转换(分规则通道和注入通道)

~~~~ ~~~~ ~~~~ ~~~~ ~~~~ 分割线 ~~~~ ~~~~ ~~~~ ~~~~ ~~~~
2.对ADC进行读取

float Read_ADC(void)
{
	float ADC_VALUE;
	
	ADC_SoftwareStartConvCmd(ADC1,ENABLE);		 //软件开启ADC转换的方法是
	Delay_Ms(5);
	ADC_VALUE = ADC_GetConversionValue(ADC1)*3.30/0xfff;	//获取转换 获取转换 获取转换 ADC 转换 结果 数据 ,
	
	return ADC_VALUE;
	备注:此段代码是蓝桥杯ADC中读取函数
}

原创文章 26 获赞 4 访问量 814

猜你喜欢

转载自blog.csdn.net/qq_42280105/article/details/104887923