STM32G474xx HAL 用户手册
函数
配置 ADC 层级范围:常规组
ADC 导出函数

函数

__STATIC_INLINE void LL_ADC_REG_SetTriggerSource (ADC_TypeDef *ADCx, uint32_t TriggerSource)
 设置 ADC 常规组转换触发源:内部(软件启动)或来自外部外设(定时器事件、外部中断线)。
__STATIC_INLINE uint32_t LL_ADC_REG_GetTriggerSource (const ADC_TypeDef *ADCx)
 获取 ADC 常规组转换触发源:内部(软件启动)或来自外部外设(定时器事件、外部中断线)。
__STATIC_INLINE uint32_t LL_ADC_REG_IsTriggerSourceSWStart (const ADC_TypeDef *ADCx)
 获取 ADC 常规组转换触发源是内部(软件启动)还是外部。
__STATIC_INLINE void LL_ADC_REG_SetTriggerEdge (ADC_TypeDef *ADCx, uint32_t ExternalTriggerEdge)
 设置 ADC 常规组转换触发极性。
__STATIC_INLINE uint32_t LL_ADC_REG_GetTriggerEdge (const ADC_TypeDef *ADCx)
 获取 ADC 常规组转换触发极性。
__STATIC_INLINE void LL_ADC_REG_SetSamplingMode (ADC_TypeDef *ADCx, uint32_t SamplingMode)
 设置 ADC 采样模式。
__STATIC_INLINE uint32_t LL_ADC_REG_GetSamplingMode (const ADC_TypeDef *ADCx)
 获取 ADC 采样模式。
__STATIC_INLINE void LL_ADC_REG_SetSequencerLength (ADC_TypeDef *ADCx, uint32_t SequencerNbRanks)
 设置 ADC 常规组序列器长度和扫描方向。
__STATIC_INLINE uint32_t LL_ADC_REG_GetSequencerLength (const ADC_TypeDef *ADCx)
 获取 ADC 常规组序列器长度和扫描方向。
__STATIC_INLINE void LL_ADC_REG_SetSequencerDiscont (ADC_TypeDef *ADCx, uint32_t SeqDiscont)
 设置 ADC 常规组序列器非连续模式:序列被细分,扫描转换在每选定的级数处中断。
__STATIC_INLINE uint32_t LL_ADC_REG_GetSequencerDiscont (const ADC_TypeDef *ADCx)
 获取 ADC 常规组序列器非连续模式:序列被细分,扫描转换在每选定的级数处中断。
__STATIC_INLINE void LL_ADC_REG_SetSequencerRanks (ADC_TypeDef *ADCx, uint32_t Rank, uint32_t Channel)
 设置 ADC 常规组序列:选定扫描序列级上的通道。
__STATIC_INLINE uint32_t LL_ADC_REG_GetSequencerRanks (const ADC_TypeDef *ADCx, uint32_t Rank)
 获取 ADC 常规组序列:选定扫描序列级上的通道。
__STATIC_INLINE void LL_ADC_REG_SetContinuousMode (ADC_TypeDef *ADCx, uint32_t Continuous)
 设置 ADC 常规组的连续转换模式。
__STATIC_INLINE uint32_t LL_ADC_REG_GetContinuousMode (const ADC_TypeDef *ADCx)
 获取 ADC 常规组的连续转换模式。
__STATIC_INLINE void LL_ADC_REG_SetDMATransfer (ADC_TypeDef *ADCx, uint32_t DMATransfer)
 设置 ADC 常规组转换数据传输:无传输或通过 DMA 传输,以及 DMA 请求模式。
__STATIC_INLINE uint32_t LL_ADC_REG_GetDMATransfer (const ADC_TypeDef *ADCx)
 获取 ADC 常规组转换数据传输:无传输或通过 DMA 传输,以及 DMA 请求模式。
__STATIC_INLINE void LL_ADC_REG_SetOverrun (ADC_TypeDef *ADCx, uint32_t Overrun)
 设置 ADC 常规组在溢出时的行为:数据保留或覆盖。
__STATIC_INLINE uint32_t LL_ADC_REG_GetOverrun (const ADC_TypeDef *ADCx)
 获取 ADC 常规组在溢出时的行为:数据保留或覆盖。

函数文档

__STATIC_INLINE uint32_t LL_ADC_REG_GetContinuousMode ( const ADC_TypeDef *  ADCx)

获取 ADC 常规组的连续转换模式。

注意:
ADC 连续转换模式描述:
  • 单次模式:每次触发进行一次转换
  • 连续模式:在第一次触发后,后续转换自动连续启动。
LL API 参考手册交叉参考:
CFGR CONT LL_ADC_REG_GetContinuousMode
参数:
ADCxADC 实例
返回值:
返回值可以是以下值之一:

定义在文件 5143stm32g4xx_ll_adc.h 中。

引用 __ADC_PTR_REG_OFFSET, ADC_CHANNEL_ID_NUMBER_BITOFFSET_POS, ADC_CHANNEL_ID_NUMBER_MASK_POSBIT0, ADC_REG_RANK_ID_SQRX_MASK, ADC_REG_SQRX_REGOFFSET_MASK, 和 ADC_SQRX_REGOFFSET_POS

__STATIC_INLINE uint32_t LL_ADC_REG_GetDMATransfer ( const ADC_TypeDef *  ADCx)

获取 ADC 常规组转换数据传输:无传输或通过 DMA 传输,以及 DMA 请求模式。

注意:
如果选择通过 DMA 传输,则指定 DMA 请求模式:
  • 受限模式(单次模式):当达到 DMA 数据传输次数(ADC 转换次数)时,DMA 传输请求停止。此 ADC 模式旨在与 DMA 非循环模式一起使用。
  • 无限模式:DMA 传输请求无限制,无论 DMA 数据传输次数(ADC 转换次数)如何。此 ADC 模式旨在与 DMA 循环模式一起使用。
如果 ADC DMA 请求模式设置为无限,且 DMA 设置为非循环模式:当达到 DMA 传输大小时,DMA 将停止 ADC 转换数据的传输,ADC 将产生溢出错误(溢出标志和中断(如果已启用))。
对于具有多个 ADC 实例的设备:ADC 多模式 DMA 设置可使用函数 LL_ADC_GetMultiDMATransfer()
要配置 DMA 源地址(外设地址),请使用函数 LL_ADC_DMA_GetRegAddr()
LL API 参考手册交叉参考:
CFGR DMAEN LL_ADC_REG_GetDMATransfer
CFGR DMACFG LL_ADC_REG_GetDMATransfer
参数:
ADCxADC 实例
返回值:
返回值可以是以下值之一:

定义在文件 5218stm32g4xx_ll_adc.h 中。

__STATIC_INLINE uint32_t LL_ADC_REG_GetOverrun ( const ADC_TypeDef *  ADCx)

获取 ADC 常规组在溢出时的行为:数据保留或覆盖。

LL API 参考手册交叉参考:
CFGR OVRMOD LL_ADC_REG_GetOverrun
参数:
ADCxADC 实例
返回值:
返回值可以是以下值之一:

定义在文件 5257stm32g4xx_ll_adc.h 中。

__STATIC_INLINE uint32_t LL_ADC_REG_GetSamplingMode ( const ADC_TypeDef *  ADCx)

获取 ADC 采样模式。

LL API 参考手册交叉参考:
CFGR2 BULB LL_ADC_REG_GetSamplingMode
CFGR2 SMPTRIG LL_ADC_REG_GetSamplingMode
参数:
ADCxADC 实例
返回值:
返回值可以是以下值之一:

定义在文件 4704stm32g4xx_ll_adc.h 中。