STM32G474xx HAL User Manual
函数
ADC层级作用域配置:多模式
ADC导出函数

函数

__STATIC_INLINE void LL_ADC_SetMultimode (ADC_Common_TypeDef *ADCxy_COMMON, uint32_t Multimode)
 设置ADC多模式配置,以独立模式或多模式运行(适用于具有多个ADC实例的器件)。
__STATIC_INLINE uint32_t LL_ADC_GetMultimode (const ADC_Common_TypeDef *ADCxy_COMMON)
 获取ADC多模式配置,以独立模式或多模式运行(适用于具有多个ADC实例的器件)。
__STATIC_INLINE void LL_ADC_SetMultiDMATransfer (ADC_Common_TypeDef *ADCxy_COMMON, uint32_t MultiDMATransfer)
 设置ADC多模式转换数据传输:不传输或通过DMA传输。
__STATIC_INLINE uint32_t LL_ADC_GetMultiDMATransfer (const ADC_Common_TypeDef *ADCxy_COMMON)
 获取ADC多模式转换数据传输:不传输或通过DMA传输。
__STATIC_INLINE void LL_ADC_SetMultiTwoSamplingDelay (ADC_Common_TypeDef *ADCxy_COMMON, uint32_t MultiTwoSamplingDelay)
 设置ADC多模式两个采样相位之间的延迟。
__STATIC_INLINE uint32_t LL_ADC_GetMultiTwoSamplingDelay (const ADC_Common_TypeDef *ADCxy_COMMON)
 获取ADC多模式两个采样相位之间的延迟。

函数详细说明

__STATIC_INLINE uint32_t LL_ADC_GetMultiDMATransfer ( const ADC_Common_TypeDef *  ADCxy_COMMON)

获取ADC多模式转换数据传输配置:不传输或通过DMA传输。

注意:
如果未选择ADC多模式DMA传输:每个ADC使用各自的DMA通道,具有独立的DMA传输设置。如果选择了ADC多模式DMA传输:一个DMA通道用于两个ADC(主ADC的DMA) 指定DMA请求模式:
  • 有限模式(单次模式):当达到DMA数据传输次数(ADC转换次数)时,DMA传输请求停止。此ADC模式适用于DMA非循环模式。
  • 无限模式:无论DMA数据传输次数(ADC转换次数)有多少,DMA传输请求都是无限的。此ADC模式适用于DMA循环模式。
如果ADC DMA请求模式设置为无限,而DMA设置为非循环模式:当达到DMA传输大小时,DMA将停止ADC转换数据的传输,ADC将产生溢出错误(如果使能了溢出标志和中断)。
如何获取多模式转换数据:无论多模式DMA传输设置如何:使用函数 LL_ADC_REG_ReadMultiConversionData32()。如果选择了ADC多模式DMA传输:转换数据是主ADC和从ADC数据拼接的原始数据。提供了用于获取主ADC或从ADC转换数据的宏:参见辅助宏 __LL_ADC_MULTI_CONV_DATA_MASTER_SLAVE()
参考手册到LL API交叉引用:
CCR MDMA LL_ADC_GetMultiDMATransfer
CCR DMACFG LL_ADC_GetMultiDMATransfer
参数:
ADCxy_COMMONADC公共实例(可以直接从CMSIS定义设置,也可以使用辅助宏 __LL_ADC_COMMON_INSTANCE() 设置)
返回值:
返回值可以是以下值之一:

定义于文件 stm32g4xx_ll_adc.h 的第 7439 行。

被以下函数引用:HAL_ADC_IRQHandler()HAL_ADC_PollForConversion()

__STATIC_INLINE uint32_t LL_ADC_GetMultimode ( const ADC_Common_TypeDef *  ADCxy_COMMON)

获取ADC多模式配置,以独立模式或多模式运行(适用于具有多个ADC实例的器件)。

注意:
如果配置了多模式:所选的ADC实例根据硬件可以是主设备或从设备。请参阅参考手册。
参考手册到LL API交叉引用:
CCR DUAL LL_ADC_GetMultimode
参数:
ADCxy_COMMONADC公共实例(可以直接从CMSIS定义设置,也可以使用辅助宏 __LL_ADC_COMMON_INSTANCE() 设置)
返回值:
返回值可以是以下值之一:

定义于文件 stm32g4xx_ll_adc.h 的第 7342 行。

被以下函数引用:HAL_ADC_IRQHandler()HAL_ADC_PollForConversion()HAL_ADC_Start()HAL_ADC_Start_DMA()HAL_ADC_Start_IT()HAL_ADCEx_InjectedPollForConversion()HAL_ADCEx_InjectedStart()HAL_ADCEx_InjectedStart_IT()

__STATIC_INLINE uint32_t LL_ADC_GetMultiTwoSamplingDelay ( const ADC_Common_TypeDef *  ADCxy_COMMON)

获取ADC多模式两个采样相位之间的延迟。

参考手册到LL API交叉引用:
CCR DELAY LL_ADC_GetMultiTwoSamplingDelay
参数:
ADCxy_COMMONADC公共实例(可以直接从CMSIS定义设置,也可以使用辅助宏 __LL_ADC_COMMON_INSTANCE() 设置)
返回值:
返回值可以是以下值之一: (1) 仅当ADC分辨率为12、10或8位时此参数可用。
(2) 仅当ADC分辨率为12或10位时此参数可用。
(3) 仅当ADC分辨率为12位时此参数可用。

定义于文件 stm32g4xx_ll_adc.h 的第 7507 行。

__STATIC_INLINE void LL_ADC_SetMultiDMATransfer ( ADC_Common_TypeDef *  ADCxy_COMMON,
uint32_t  MultiDMATransfer 
)

设置ADC多模式转换数据传输:不传输或通过DMA传输。

注意:
如果未选择ADC多模式DMA传输:每个ADC使用各自的DMA通道,具有独立的DMA传输设置。如果选择了ADC多模式DMA传输:一个DMA通道用于两个ADC(主ADC的DMA) 指定DMA请求模式:
  • 有限模式(单次模式):当达到DMA数据传输次数(ADC转换次数)时,DMA传输请求停止。此ADC模式适用于DMA非循环模式。
  • 无限模式:无论DMA数据传输次数(ADC转换次数)有多少,DMA传输请求都是无限的。此ADC模式适用于DMA循环模式。
如果ADC DMA请求模式设置为无限,而DMA设置为非循环模式:当达到DMA传输大小时,DMA将停止ADC转换数据的传输,ADC将产生溢出错误(如果使能了溢出标志和中断)。
如何获取多模式转换数据:无论多模式DMA传输设置如何:使用函数 LL_ADC_REG_ReadMultiConversionData32()。如果选择了ADC多模式DMA传输:转换数据是主ADC和从ADC数据拼接的原始数据。提供了用于获取主ADC或从ADC转换数据的宏:参见辅助宏 __LL_ADC_MULTI_CONV_DATA_MASTER_SLAVE()
在此STM32系列上,此功能的设置取决于ADC状态:ADC公共组的所有ADC实例必须禁用或在规则组上无正在进行的转换时启用。
参考手册到LL API交叉引用:
CCR MDMA LL_ADC_SetMultiDMATransfer
CCR DMACFG LL_ADC_SetMultiDMATransfer
参数:
ADCxy_COMMONADC公共实例(可以直接从CMSIS定义设置,也可以使用辅助宏 __LL_ADC_COMMON_INSTANCE() 设置)
MultiDMATransfer此参数可以是以下值之一:
返回值:

定义于文件 stm32g4xx_ll_adc.h 的第 7393 行。