直接贴出代码,并且辅以 详细的解释
#include"stm32f10X.h"
#include"adc.h"
/***ADC初始化函数***/
/*
(1)定义两个结构体
(2)ADC时钟六分频
(3)配置两个结构体(ps配置ADC结构体之前需要复位ADC)
(4)使能ADC
(5)校正
*/
void Adc_Init()
{
GPIO_InitTypeDef GOIO_InitStructure;//GPIO结构体
ADC_InitTypeDef ADC_InitStructure;//ADC结构体
RCC_ADCCLKConfig(RCC_PCLK2_Div6);//将ADC时钟六分频
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_ADC1,ENABLE);//开启GPIO,ADC时钟
GOIO_InitStructure.GPIO_Pin=GPIO_Pin_0;//ADC1的第八通道
GOIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GOIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN;
GPIO_Init(GPIOB,&GOIO_InitStructure);
ADC_DeInit(ADC1);//配置ADC工作方式先复位ADC