STM32G474xx HAL用户手册
宏定义
ADC辅助宏
ADC导出宏

宏定义

#define __LL_ADC_CHANNEL_TO_DECIMAL_NB(__CHANNEL__)
 辅助宏,用于从字面量LL_ADC_CHANNEL_x获取ADC通道的十进制格式编号。
#define __LL_ADC_DECIMAL_NB_TO_CHANNEL(__DECIMAL_NB__)
 辅助宏,用于从十进制格式的数字获取字面量格式LL_ADC_CHANNEL_x的ADC通道。
#define __LL_ADC_IS_CHANNEL_INTERNAL(__CHANNEL__)   (((__CHANNEL__) & ADC_CHANNEL_ID_INTERNAL_CH_MASK) != 0UL)
 辅助宏,用于判断所选通道是否对应驱动程序的字面量定义。
#define __LL_ADC_CHANNEL_INTERNAL_TO_EXTERNAL(__CHANNEL__)   ((__CHANNEL__) & ~ADC_CHANNEL_ID_INTERNAL_CH_MASK)
 辅助宏,用于将ADC内部通道(LL_ADC_CHANNEL_VREFINT、LL_ADC_CHANNEL_TEMPSENSOR等)的参数定义转换为其等效的ADC外部通道(LL_ADC_CHANNEL_1、LL_ADC_CHANNEL_2等)的参数定义。
#define __LL_ADC_IS_CHANNEL_INTERNAL_AVAILABLE(__ADC_INSTANCE__, __CHANNEL__)
 辅助宏,用于判断所选的内部通道在所选的ADC实例上是否可用。
#define __LL_ADC_ANALOGWD_CHANNEL_GROUP(__CHANNEL__, __GROUP__)
 辅助宏,用于定义ADC模拟看门狗参数:从序列器通道和组定义中定义要使用模拟看门狗监控的单个通道。
#define __LL_ADC_ANALOGWD_SET_THRESHOLD_RESOLUTION(__ADC_RESOLUTION__, __AWD_THRESHOLD__)   ((__AWD_THRESHOLD__) << ((__ADC_RESOLUTION__) >> (ADC_CFGR_RES_BITOFFSET_POS - 1U )))
 辅助宏,用于在ADC分辨率不同于12位时,根据ADC分辨率设置ADC模拟看门狗阈值高或低的值。
#define __LL_ADC_ANALOGWD_GET_THRESHOLD_RESOLUTION(__ADC_RESOLUTION__, __AWD_THRESHOLD_12_BITS__)   ((__AWD_THRESHOLD_12_BITS__) >> ((__ADC_RESOLUTION__) >> (ADC_CFGR_RES_BITOFFSET_POS - 1U )))
 辅助宏,用于在ADC分辨率不同于12位时,根据ADC分辨率获取ADC模拟看门狗阈值高或低的值。
#define __LL_ADC_ANALOGWD_THRESHOLDS_HIGH_LOW(__AWD_THRESHOLD_TYPE__, __AWD_THRESHOLDS__)
 辅助宏,用于从包含两个阈值的原始值中获取ADC模拟看门狗阈值高或低。
#define __LL_ADC_CALIB_FACTOR_SINGLE_DIFF(__CALIB_FACTOR_SINGLE_ENDED__, __CALIB_FACTOR_DIFFERENTIAL__)   (((__CALIB_FACTOR_DIFFERENTIAL__) << ADC_CALFACT_CALFACT_D_Pos) | (__CALIB_FACTOR_SINGLE_ENDED__))
 辅助宏,用于设置包含单端和差分模式校准因子的ADC校准值。
#define __LL_ADC_MULTI_CONV_DATA_MASTER_SLAVE(__ADC_MULTI_MASTER_SLAVE__, __ADC_MULTI_CONV_DATA__)   (((__ADC_MULTI_CONV_DATA__) >> ((ADC_CDR_RDATA_SLV_Pos) & ~(__ADC_MULTI_MASTER_SLAVE__))) & ADC_CDR_RDATA_MST)
 辅助宏,用于从包含两个ADC转换数据连接的原始值中获取ADC主或ADC从的多模式转换数据。
#define __LL_ADC_MULTI_INSTANCE_MASTER(__ADCx__)
 辅助宏,用于从ADC实例中选择其在多模式下所依赖的ADC实例(对应ADC公共实例的ADC主设备)。
#define __LL_ADC_COMMON_INSTANCE(__ADCx__)
 辅助宏,用于选择所选ADC实例所属的ADC公共实例。
#define __LL_ADC_IS_ENABLED_ALL_COMMON_INSTANCE(__ADCXY_COMMON__)
 辅助宏,用于检查共享同一ADC公共实例的所有ADC实例是否都被禁用。
#define __LL_ADC_DIGITAL_SCALE(__ADC_RESOLUTION__)   (0xFFFUL >> ((__ADC_RESOLUTION__) >> (ADC_CFGR_RES_BITOFFSET_POS - 1UL)))
 辅助宏,用于定义与所选ADC分辨率对应的ADC转换数据满量程数字值。
#define __LL_ADC_CONVERT_DATA_RESOLUTION(__DATA__, __ADC_RESOLUTION_CURRENT__, __ADC_RESOLUTION_TARGET__)
 辅助宏,用于将ADC转换数据从一种分辨率转换为另一种分辨率。
#define __LL_ADC_CALC_DATA_TO_VOLTAGE(__VREFANALOG_VOLTAGE__, __ADC_DATA__, __ADC_RESOLUTION__)
 辅助宏,用于计算与ADC转换数据(单位:数字值)对应的电压(单位:毫伏)。
#define __LL_ADC_CALC_DIFF_DATA_TO_VOLTAGE(__VREFANALOG_VOLTAGE__, __ADC_DATA__, __ADC_RESOLUTION__)
 辅助宏,用于计算与差分模式下ADC转换数据(单位:数字值)对应的电压(单位:毫伏)。
#define __LL_ADC_CALC_VREFANALOG_VOLTAGE(__VREFINT_ADC_DATA__, __ADC_RESOLUTION__)
 辅助宏,用于从内部电压参考VrefInt的ADC转换数据计算模拟参考电压(Vref+)(单位:毫伏)。
#define __LL_ADC_CALC_TEMPERATURE(__VREFANALOG_VOLTAGE__, __TEMPSENSOR_ADC_DATA__, __ADC_RESOLUTION__)
 辅助宏,用于根据内部温度传感器的ADC转换数据计算温度(单位:摄氏度)。
#define __LL_ADC_CALC_TEMPERATURE_TYP_PARAMS(__TEMPSENSOR_TYP_AVGSLOPE__, __TEMPSENSOR_TYP_CALX_V__, __TEMPSENSOR_CALX_TEMP__, __VREFANALOG_VOLTAGE__, __TEMPSENSOR_ADC_DATA__, __ADC_RESOLUTION__)
 辅助宏,用于根据内部温度传感器的ADC转换数据计算温度(单位:摄氏度)。

宏定义说明

#define __LL_ADC_ANALOGWD_CHANNEL_GROUP (   __CHANNEL__,
  __GROUP__ 
)
值:
(((__GROUP__) == LL_ADC_GROUP_REGULAR)                                                                  \
   ? (((__CHANNEL__) & ADC_CHANNEL_ID_MASK) | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)                         \
   :                                                                                                      \
   ((__GROUP__) == LL_ADC_GROUP_INJECTED)                                                                 \
   ? (((__CHANNEL__) & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1SGL)                        \
   :                                                                                                      \
   (((__CHANNEL__) & ADC_CHANNEL_ID_MASK) | ADC_CFGR_JAWD1EN | ADC_CFGR_AWD1EN | ADC_CFGR_AWD1SGL)        \
  )

辅助宏,用于定义ADC模拟看门狗参数:从序列器通道和组定义中定义要使用模拟看门狗监控的单个通道。

注意:
请与函数LL_ADC_SetAnalogWDMonitChannels()一起使用。示例:LL_ADC_SetAnalogWDMonitChannels( ADC1, LL_ADC_AWD1, __LL_ADC_ANALOGWD_CHANNEL_GROUP(LL_ADC_CHANNEL4, LL_ADC_GROUP_REGULAR))
参数:
__CHANNEL__此参数可以是以下值之一: (1) 在STM32G4上,此参数仅适用于ADC实例:ADC1。
(2) 在STM32G4上,此参数仅适用于ADC实例:ADC2。
(3) 在STM32G4上,此参数仅适用于ADC实例:ADC3。
(4) 在STM32G4上,此参数仅适用于ADC实例:ADC4。
(5) 在STM32G4上,此参数仅适用于ADC实例:ADC5。
(6) 在STM32G4上,此参数仅适用于ADC实例:ADC1、ADC3、ADC5。
(7) 在STM32G4上,此参数仅适用于ADC实例:ADC1、ADC3、ADC4、ADC5。
在此STM32系列中,所有ADCx并非在所有器件上都可用。请参考器件数据手册了解更多信息。 (8) 在STM32G4上,快速通道允许:2.5(采样)+ 12.5(转换)= 15个ADC时钟周期(fADC)在12位分辨率下转换。其他通道为慢速通道,允许:6.5(采样)+ 12.5(转换)= 19个ADC时钟周期(fADC)在12位分辨率下转换。
(1, 2, 3, 4, 5, 7) 对于从ADC寄存器回读的ADC通道,需要使用辅助宏__LL_ADC_CHANNEL_INTERNAL_TO_EXTERNAL()与内部通道参数进行比较。
__GROUP__此参数可以是以下值之一: