这里为了方便快速调用初始化,入口参数只设置了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规则组的转换结果
- }
|