资源简介

STM32L151C8T6实测可用ADC,采用标准库完成,兼容STM32L1x系列单片机,
主要参考官方ADC1_AnalogWatchdog,ADC1_Freeze,ADC1_IDDmeas三个源文件整理而成,

资源截图

代码片段和文件信息

/**********************************************************
 * 文件名称:adc.c
 * 功能说明:adc初始化函数
 * 作者:(qq:554163925)
 * 
***********************************************************/
#include “adc.h“


/* 初始化ADC
 * 默认将开启通道0~3
 */        
void ADC_Config(void)

ADC_InitTypeDef ADC_InitStructure; 
GPIO_InitTypeDef GPIO_InitStructure;

//使能HSI时钟
RCC_HSICmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA  ENABLE );   
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1  ENABLE);

//GPIO初始化                         
GPIO_InitStructure.GPIO_Pin = BAT_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOA &GPIO_InitStructure);

ADC_DeInit(ADC1);   //复位ADC1

ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b; //ADC工作模式:ADC1和ADC2工作在独立模式
ADC_InitStructure.ADC_ScanConvMode = DISABLE; //模数转换工作在单通道模式
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE; //模数转换

评论

共有 条评论