1260)Volt=1260;returnVolt;}adc.h#ifndef_ADC_H#define_ADC_H#include"config.h"#defineBattery_Ch4voidAdc_Init(void);u16Get_Adc(u8ch);intGet_battery_volt(void);#endif"/>
定制热线: 400-666-3615
2020-05-01 点击量:448次
adc.c
#include"adc.h"
voidAdc_Init(void)
{
ADC_InitTypeDefADC_InitStructure;
GpIO_InitTypeDefGpIO_InitStructure;
RCC_ApB2periphClockCmd(RCC_ApB2periph_GpIOA|RCC_ApB2periph_ADC1,ENABLE);//使能ADC1通道时钟
RCC_ADCCLKConfig(RCC_pCLK2_Div6);//设置ADC分频因子672M/6=12,ADC最大时间不能超过14M
//pA4作为模拟通道输入引脚
GpIO_InitStructure.GpIO_pin=GpIO_pin_4;
GpIO_InitStructure.GpIO_Mode=GpIO_Mode_AIN;//模拟输入引脚
GpIO_Init(GpIOA,&GpIO_InitStructure);
ADC_DeInit(ADC1);//复位ADC1,将外设ADC1的全部寄存器重设为缺省值
ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;//ADC工作模式:ADC1和ADC2工作在独立模式
ADC_InitStructure.ADC_ScanConvMode=DISABLE;//模数转换工作在单通道模式
ADC_InitStructure.ADC_ContinuousConvMode=DISABLE;//模数转换工作在单次转换模式
ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None;//转换由软件而不是外部触发启动
ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right;//ADC数据右对齐
ADC_InitStructure.ADC_NbrOfChannel=1;//顺序进行规则转换的ADC通道的数目
ADC_Init(ADC1,&ADC_InitStructure);//根据ADC_InitStruct中指定的参数初始化外设ADCx的寄存器
ADC_Cmd(ADC1,ENABLE);//使能指定的ADC1
ADC_ResetCalibration(ADC1);//使能复位校准
while(ADC_GetResetCalibrationStatus(ADC1));//等待复位校准结束
ADC_StartCalibration(ADC1);//开启AD校准
while(ADC_GetCalibrationStatus(ADC1));//等待校准结束
}
u16Get_Adc(u8ch)
{
//设置指定ADC的规则组通道,一个序列,采样时间
ADC_RegularChannelConfig(ADC1,ch,1,ADC_SampleTime_239Cycles5);//ADC1,ADC通道,采样时间为239.5周期
ADC_SoftwareStartConvCmd(ADC1,ENABLE);//使能指定的ADC1的软件转换启动功能
while(!ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC));//等待转换结束
returnADC_GetConversionValue(ADC1);//返回最近一次ADC1规则组的转换结果
}
intGet_battery_volt(void)
{
intVolt;//电池电压
Volt=Get_Adc(Battery_Ch)*3.3*11.5*100/1.5/4096;//电阻分压,具体根据原理图简单分析可以得到
if(Volt>1260)Volt=1260;
returnVolt;
}
adc.h
#ifndef_ADC_H
#define_ADC_H
#include"config.h"
#defineBattery_Ch4
voidAdc_Init(void);
u16Get_Adc(u8ch);
intGet_battery_volt(void);
#endif
声明: 本网站所发布文章,均来自于互联网,不代表本站观点,如有侵权,请联系删除(QQ:378886361)
钜大特种锂离子电池工程研究中心是由东莞钜大电子有限公司兴建,并与中南大学、华南理工大学和东莞理工学院相关科研团队联合运营的特种锂离子电池产业化研发中心,研究中心秉持"以特殊环境、特殊用途和特殊性能的需求为导向,以产学研深度融合为创新驱动"的办院方针,力求满足用户独特的需要,从而为用户创造独特的价值。