STM32G474xx HAL用户手册
函数
初始化和反初始化函数
ADC导出函数

ADC初始化和配置函数。 更多...

函数

HAL_StatusTypeDef HAL_ADC_Init (ADC_HandleTypeDef *hadc)
 根据"ADC_InitTypeDef"结构中指定的参数初始化ADC外设和规则组。
HAL_StatusTypeDef HAL_ADC_DeInit (ADC_HandleTypeDef *hadc)
 将ADC外设寄存器反初始化为默认复位值,并反初始化ADC MSP。
__weak void HAL_ADC_MspInit (ADC_HandleTypeDef *hadc)
 初始化ADC MSP。
__weak void HAL_ADC_MspDeInit (ADC_HandleTypeDef *hadc)
 反初始化ADC MSP。
HAL_StatusTypeDef HAL_ADC_RegisterCallback (ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef CallbackID, pADC_CallbackTypeDef pCallback)
 注册用户ADC回调以替代弱预定义回调。
HAL_StatusTypeDef HAL_ADC_UnRegisterCallback (ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef CallbackID)
 注销ADC回调 ADC回调重定向到弱预定义回调。

详细描述

ADC初始化和配置函数。

初始化和配置函数。

 ===============================================================================
              ##### 初始化和反初始化函数 #####
 ===============================================================================
    [..]  本节提供以下功能:
      (+) 初始化和配置ADC。
      (+) 反初始化ADC。

函数文档

HAL_StatusTypeDef HAL_ADC_DeInit ( ADC_HandleTypeDef hadc)

将ADC外设寄存器反初始化为默认复位值,并反初始化ADC MSP。

注意:
对于具有多个ADC的设备:只有当共享同一公共组的所有ADC都被禁用时,才会执行公共寄存器的重置。(函数"HAL_ADC_MspDeInit()"也在相同条件下调用:所有ADC实例在RCC级别使用相同的核心时钟,禁用核心时钟将重置所有ADC实例)。如果不满足此条件,公共参数的重置将被绕过,且不会报告错误:这可能是在重置单个ADC而其他共享同一公共组的ADC仍在运行时的预期行为。
默认情况下,HAL_ADC_DeInit()将ADC设置为深度掉电模式:通过减少漏电流可节省更多电量,这在进入MCU低功耗模式之前特别有用。
参数:
hadcADC句柄
返回值:
HAL状态

定义于文件 stm32g4xx_hal_adc.c 的第 713 行。

引用参考 __HAL_ADC_CLEAR_FLAG, __HAL_ADC_DISABLE_IT, __LL_ADC_COMMON_INSTANCE, __LL_ADC_IS_ENABLED_ALL_COMMON_INSTANCE, ADC_CFGR_FIELDS, ADC_CLEAR_COMMON_CONTROL_REGISTER, ADC_CLEAR_ERRORCODE, ADC_ConversionStop(), ADC_Disable(), ADC_FLAG_AWD1, ADC_FLAG_AWD2, ADC_FLAG_AWD3, ADC_FLAG_EOC, ADC_FLAG_EOS, ADC_FLAG_EOSMP, ADC_FLAG_JEOC, ADC_FLAG_JEOS, ADC_FLAG_JQOVF, ADC_FLAG_OVR, ADC_FLAG_RDY, ADC_IT_AWD1, ADC_IT_AWD2, ADC_IT_AWD3, ADC_IT_EOC, ADC_IT_EOS, ADC_IT_EOSMP, ADC_IT_JEOC, ADC_IT_JEOS, ADC_IT_JQOVF, ADC_IT_OVR, ADC_IT_RDY, ADC_REGULAR_INJECTED_GROUP, ADC_SMPR1_FIELDS, assert_param, ADC_InjectionConfigTypeDef::ChannelCount, ADC_InjectionConfigTypeDef::ContextQueue, HAL_ADC_MspDeInit(), HAL_ADC_STATE_BUSY_INTERNAL, HAL_ADC_STATE_READY, HAL_ADC_STATE_RESET, __ADC_HandleTypeDef::InjectionConfig, __ADC_HandleTypeDef::Instance, __ADC_HandleTypeDef::MspDeInitCallback, 和 __ADC_HandleTypeDef::State.

HAL_StatusTypeDef HAL_ADC_Init ( ADC_HandleTypeDef hadc)

根据"ADC_InitTypeDef"结构中指定的参数初始化ADC外设和规则组。

注意:
作为先决条件,ADC时钟必须在RCC顶层配置(请参阅本文件头部中RCC配置ADC的描述)。
动态更新参数的可能性:此函数仅在ADC从复位状态转换时才初始化ADC MSP(HAL_ADC_MspInit())。对此函数的后续调用可用于动态重新配置ADC_InitTypeDef结构的某些参数,而无需修改MSP配置。如果需要再次修改ADC MSP,必须先调用HAL_ADC_DeInit(),然后才能调用HAL_ADC_Init()。设置这些参数需要满足ADC状态条件。关于参数约束,请参阅"ADC_InitTypeDef"结构的注释。
此函数在两个范围内配置ADC:整个ADC的范围和规则组的范围。关于参数详情,请参阅"ADC_InitTypeDef"结构的注释。
与公共ADC寄存器相关的参数(ADC时钟模式)仅在所有ADC都被禁用时设置。如果不满足此条件,这些公共参数设置将被绕过,且不会报告错误:这可能是在动态更新ADC_InitTypeDef参数而不禁用其他ADC时的预期行为。
参数:
hadcADC句柄
返回值:
HAL状态

定义于文件 stm32g4xx_hal_adc.c 的第 396 行。

引用参考 __LL_ADC_COMMON_INSTANCE, __LL_ADC_IS_ENABLED_ALL_COMMON_INSTANCE, ADC_CFGR_AUTOWAIT, ADC_CFGR_CONTINUOUS, ADC_CFGR_DFSDM, ADC_CFGR_DISCONTINUOUS_NUM, ADC_CFGR_DMACONTREQ, ADC_CFGR_FIELDS_1, ADC_CFGR_FIELDS_2, ADC_CFGR_REG_DISCONTINUOUS, ADC_CLEAR_ERRORCODE, ADC_SCAN_DISABLE, ADC_SCAN_ENABLE, ADC_SOFTWARE_START, ADC_STATE_CLR_SET, assert_param, ADC_InitTypeDef::ClockPrescaler, ADC_InitTypeDef::ContinuousConvMode, __ADC_HandleTypeDef::ConvCpltCallback, __ADC_HandleTypeDef::ConvHalfCpltCallback, ADC_InitTypeDef::DataAlign, ADC_InitTypeDef::DiscontinuousConvMode, ADC_InitTypeDef::DMAContinuousRequests, __ADC_HandleTypeDef::EndOfSamplingCallback, ADC_InitTypeDef::EOCSelection, __ADC_HandleTypeDef::ErrorCallback, __ADC_HandleTypeDef::ErrorCode, ADC_InitTypeDef::ExternalTrigConv, ADC_InitTypeDef::ExternalTrigConvEdge, ADC_InitTypeDef::GainCompensation, HAL_ADC_ConvCpltCallback(), HAL_ADC_ConvHalfCpltCallback(), HAL_ADC_ERROR_INTERNAL, HAL_ADC_ErrorCallback(), HAL_ADC_LevelOutOfWindowCallback(), HAL_ADC_MspInit(), HAL_ADC_STATE_BUSY_INTERNAL, HAL_ADC_STATE_ERROR_INTERNAL, HAL_ADC_STATE_READY, HAL_ADC_STATE_REG_BUSY, HAL_ADC_STATE_RESET, HAL_ADCEx_EndOfSamplingCallback(), HAL_ADCEx_InjectedConvCpltCallback(), HAL_ADCEx_InjectedQueueOverflowCallback(), HAL_ADCEx_LevelOutOfWindow2Callback(), HAL_ADCEx_LevelOutOfWindow3Callback(), __ADC_HandleTypeDef::Init, __ADC_HandleTypeDef::InjectedConvCpltCallback, __ADC_HandleTypeDef::InjectedQueueOverflowCallback, __ADC_HandleTypeDef::Instance, IS_ADC_CLOCKPRESCALER, IS_ADC_DATA_ALIGN, IS_ADC_EOC_SELECTION, IS_ADC_EXTTRIG, IS_ADC_EXTTRIG_EDGE, IS_ADC_GAIN_COMPENSATION, IS_ADC_OVERRUN, IS_ADC_OVERSAMPL