这里为了方便快速调用初始化,入口参数只设置了adc模块和通道,其他设置统一设置为
单通道,单次转换,时钟为12M
ADC的运用和实例
完成初始化后就可以调用
//-------------------------------------------------------------------------------------------------------------------
// @brief ADC转换一次
// @param adcn 选择ADC模块(ADC1、ADC2)
// @param ch 选择ADC通道
// @return void
// Sample usage: adc_convert(ADC1,CH0_PA0);
//-------------------------------------------------------------------------------------------------------------------
u16 HYJ_ADC_Getdata(ADC_TypeDef* adc,chx_enum ch)
{
//设置指定ADC的规则组通道,一个序列,采样时间
ADC_RegularChannelConfig(adc, ch, 1, ADC_SampleTime_239Cycles5 ); //ADC1,ADC通道,采样时间为239.5周期
ADC_SoftwareStartConvCmd(adc, ENABLE); //使能指定的ADC1的软件转换启动功能
while(!ADC_GetFlagStatus(adc, ADC_FLAG_EOC ));//等待转换结束
return ADC_GetConversionValue(adc); //返回最近一次ADC1规则组的转换结果
}
|