STM32G474xx HAL User Manual
函数
ADC转换范围配置:模拟看门狗
ADC导出函数

函数

__STATIC_INLINE void LL_ADC_SetAnalogWDMonitChannels (ADC_TypeDef *ADCx, uint32_t AWDy, uint32_t AWDChannelGroup)
 设置ADC模拟看门狗监控通道:单一通道、多个通道或所有通道,适用于ADC规则组和/或注入组。
__STATIC_INLINE uint32_t LL_ADC_GetAnalogWDMonitChannels (const ADC_TypeDef *ADCx, uint32_t AWDy)
 获取ADC模拟看门狗监控的通道。
__STATIC_INLINE void LL_ADC_ConfigAnalogWDThresholds (ADC_TypeDef *ADCx, uint32_t AWDy, uint32_t AWDThresholdHighValue, uint32_t AWDThresholdLowValue)
 设置ADC模拟看门狗的高低阈值。
__STATIC_INLINE void LL_ADC_SetAnalogWDThresholds (ADC_TypeDef *ADCx, uint32_t AWDy, uint32_t AWDThresholdsHighLow, uint32_t AWDThresholdValue)
 设置ADC模拟看门狗的高阈值或低阈值。
__STATIC_INLINE uint32_t LL_ADC_GetAnalogWDThresholds (const ADC_TypeDef *ADCx, uint32_t AWDy, uint32_t AWDThresholdsHighLow)
 获取ADC模拟看门狗的高阈值、低阈值,或将ADC高低阈值拼接后的原始数据。
__STATIC_INLINE void LL_ADC_SetAWDFilteringConfiguration (ADC_TypeDef *ADCx, uint32_t AWDy, uint32_t FilteringConfig)
 设置ADC模拟看门狗的滤波配置。
__STATIC_INLINE uint32_t LL_ADC_GetAWDFilteringConfiguration (const ADC_TypeDef *ADCx, uint32_t AWDy)
 获取ADC模拟看门狗的滤波配置。

函数文档

__STATIC_INLINE void LL_ADC_ConfigAnalogWDThresholds ( ADC_TypeDef *  ADCx,
uint32_t  AWDy,
uint32_t  AWDThresholdHighValue,
uint32_t  AWDThresholdLowValue 
)

设置ADC模拟看门狗的高低阈值。

注意:
如果只需要设置一个阈值(高或低),请使用函数 LL_ADC_SetAnalogWDThresholds()
如果ADC分辨率不是12位,模拟看门狗阈值数据需要进行特定的移位。请使用辅助宏 __LL_ADC_ANALOGWD_SET_THRESHOLD_RESOLUTION()
在STM32系列中,有两种类型的模拟看门狗实例:
  • 标准AWD(实例AWD1):
    • 监控通道:可以监控1个通道或所有通道。
    • 监控组:ADC规则组和/或注入组。
    • 分辨率:分辨率不受限制(对应配置的ADC分辨率)。
  • 灵活AWD(实例AWD2、AWD3):
    • 监控通道:灵活选择通道监控,可以从1个到所有通道逐个选择。此模拟看门狗的特殊性:可以选择多个通道。例如:(LL_ADC_AWD_CHANNEL4_REG_INJ | LL_ADC_AWD_CHANNEL5_REG_INJ | ...)
    • 监控组:无法选择(同时监控规则组和注入组)。所选通道将在规则组和注入组上被监控:LL_ADC_AWD_CHANNELxx_REG_INJ(不要使用参数LL_ADC_AWD_CHANNELxx_REG和LL_ADC_AWD_CHANNELxx_INJ)
    • 分辨率:分辨率限制为8位:如果ADC分辨率为12位,低4位被忽略;如果ADC分辨率为10位,低2位被忽略。
如果启用了ADC过采样,ADC模拟看门狗阈值会受影响:模拟看门狗阈值的比较是在过采样最终计算之后进行的(应用比率和移位后):ADC数据寄存器位字段[15:4](12个最高有效位)。示例:
  • 过采样比率和移位选择为使ADC转换数据为12位(比率16和移位4,或比率32和移位5,...):ADC模拟看门狗阈值必须除以16。
  • 过采样比率和移位选择为使ADC转换数据为14位(比率16和移位2,或比率32和移位3,...):ADC模拟看门狗阈值必须除以4。
  • 过采样比率和移位选择为使ADC转换数据为16位(比率16不移位,或比率32和移位1,...):ADC模拟看门狗阈值直接对应ADC数据寄存器。
参考手册到LL API交叉引用:
TR1 HT1 LL_ADC_ConfigAnalogWDThresholds
TR2 HT2 LL_ADC_ConfigAnalogWDThresholds
TR3 HT3 LL_ADC_ConfigAnalogWDThresholds
TR1 LT1 LL_ADC_ConfigAnalogWDThresholds
TR2 LT2 LL_ADC_ConfigAnalogWDThresholds
TR3 LT3 LL_ADC_ConfigAnalogWDThresholds
参数:
ADCxADC实例
AWDy此参数可以是以下值之一:
AWDThresholdHighValue介于Min_Data=0x000和Max_Data=0xFFF之间的值
AWDThresholdLowValue介于Min_Data=0x000和Max_Data=0xFFF之间的值
返回值:

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

参考 __ADC_PTR_REG_OFFSETADC_AWD_TRX_REG_OFFSET_MASKADC_AWD_TRX_REG_OFFSET_POSADC_TR1_HT1_BIT_OFFSET_POS

HAL_ADC_AnalogWDGConfig() 引用。

__STATIC_INLINE uint32_t LL_ADC_GetAnalogWDMonitChannels ( const ADC_TypeDef *  ADCx,
uint32_t  AWDy 
)

获取ADC模拟看门狗监控的通道。

注意:
返回通道号的使用方式:
  • 将该通道重新注入到另一个函数LL_ADC_xxx:返回的通道号仅部分格式化了LL_ADC_CHANNEL_x的定义。因此,需要与LL_ADC_CHANNEL_x的字面量部分进行比较,或使用辅助宏 __LL_ADC_CHANNEL_TO_DECIMAL_NB()。然后可以将所选字面量LL_ADC_CHANNEL_x用作另一个函数的参数。
  • 获取十进制格式的通道号:使用辅助宏 __LL_ADC_CHANNEL_TO_DECIMAL_NB() 处理返回值。仅在模拟看门狗设置为监控一个通道时适用。
在STM32系列中,有两种类型的模拟看门狗实例:
  • 标准AWD(实例AWD1):
    • 监控通道:可以监控1个通道或所有通道。
    • 监控组:ADC规则组和/或注入组。
    • 分辨率:分辨率不受限制(对应配置的ADC分辨率)。
  • 灵活AWD(实例AWD2、AWD3):
    • 监控通道:灵活选择通道监控,可以从1个到所有通道逐个选择。此模拟看门狗的特殊性:可以选择多个通道。例如:(LL_ADC_AWD_CHANNEL4_REG_INJ | LL_ADC_AWD_CHANNEL5_REG_INJ | ...)
    • 监控组:无法选择(同时监控规则组和注入组)。所选通道将在规则组和注入组上被监控:LL_ADC_AWD_CHANNELxx_REG_INJ(不要使用参数LL_ADC_AWD_CHANNELxx_REG和LL_ADC_AWD_CHANNELxx_INJ)
    • 分辨率:分辨率限制为8位:如果ADC分辨率为12位,低4位被忽略;如果ADC分辨率为10位,低2位被忽略。
在STM32系列中,此功能的设置受ADC状态条件限制:ADC必须处于禁用状态,或启用但规则组或注入组无转换进行中。
参考手册到LL API交叉引用:
CFGR AWD1CH LL_ADC_GetAnalogWDMonitChannels
CFGR AWD1SGL LL_ADC_GetAnalogWDMonitChannels
CFGR AWD1EN LL_ADC_GetAnalogWDMonitChannels
CFGR JAWD1EN LL_ADC_GetAnalogWDMonitChannels
AWD2CR AWD2CH LL_ADC_GetAnalogWDMonitChannels
AWD3CR AWD3CH LL_ADC_GetAnalogWDMonitChannels
参数:
ADCxADC实例
AWDy此参数可以是以下值之一: (1) 在此AWD编号下,如果只编程了一个通道(或无通道或所有通道),可以检索监控的通道。如果通过位字段同时编程了多个通道,此函数无法检索监控的通道。
返回值:
返回值可以是以下值之一: