STM32G474xx HAL User Manual
宏定义
HAL ADC 辅助宏
ADC 导出宏

宏定义

#define __HAL_ADC_CHANNEL_TO_DECIMAL_NB(__CHANNEL__)   __LL_ADC_CHANNEL_TO_DECIMAL_NB((__CHANNEL__))
 辅助宏,用于从ADC_CHANNEL_x字面量获取ADC通道号的十进制格式。
#define __HAL_ADC_DECIMAL_NB_TO_CHANNEL(__DECIMAL_NB__)   __LL_ADC_DECIMAL_NB_TO_CHANNEL((__DECIMAL_NB__))
 辅助宏,用于从十进制数字获取字面量格式ADC_CHANNEL_x的ADC通道。
#define __HAL_ADC_IS_CHANNEL_INTERNAL(__CHANNEL__)   __LL_ADC_IS_CHANNEL_INTERNAL((__CHANNEL__))
 辅助宏,用于判断所选通道是否对应驱动程序的字面量定义。
#define __HAL_ADC_CHANNEL_INTERNAL_TO_EXTERNAL(__CHANNEL__)   __LL_ADC_CHANNEL_INTERNAL_TO_EXTERNAL((__CHANNEL__))
 辅助宏,用于将ADC内部通道(ADC_CHANNEL_VREFINT、ADC_CHANNEL_TEMPSENSOR等)的参数定义转换为等效的ADC外部通道(ADC_CHANNEL_1、ADC_CHANNEL_2等)的参数定义。
#define __HAL_ADC_IS_CHANNEL_INTERNAL_AVAILABLE(__ADC_INSTANCE__, __CHANNEL__)   __LL_ADC_IS_CHANNEL_INTERNAL_AVAILABLE((__ADC_INSTANCE__), (__CHANNEL__))
 辅助宏,用于判断所选内部通道在所选ADC实例上是否可用。
#define __HAL_ADC_MULTI_CONV_DATA_MASTER_SLAVE(__ADC_MULTI_MASTER_SLAVE__, __ADC_MULTI_CONV_DATA__)   __LL_ADC_MULTI_CONV_DATA_MASTER_SLAVE((__ADC_MULTI_MASTER_SLAVE__), (__ADC_MULTI_CONV_DATA__))
 辅助宏,用于从包含主从ADC转换数据拼接的原始值中获取ADC主或从模式的多通道转换数据。
#define __HAL_ADC_COMMON_INSTANCE(__ADCx__)   __LL_ADC_COMMON_INSTANCE((__ADCx__))
 辅助宏,用于选择所选ADC实例所属的ADC公共实例。
#define __HAL_ADC_IS_ENABLED_ALL_COMMON_INSTANCE(__ADCXY_COMMON__)   __LL_ADC_IS_ENABLED_ALL_COMMON_INSTANCE((__ADCXY_COMMON__))
 辅助宏,用于检查所有共享同一ADC公共实例的ADC实例是否都已禁用。
#define __HAL_ADC_DIGITAL_SCALE(__ADC_RESOLUTION__)   __LL_ADC_DIGITAL_SCALE((__ADC_RESOLUTION__))
 辅助宏,用于定义与所选ADC分辨率对应的ADC转换数据满量程数字值。
#define __HAL_ADC_CONVERT_DATA_RESOLUTION(__DATA__, __ADC_RESOLUTION_CURRENT__, __ADC_RESOLUTION_TARGET__)
 辅助宏,用于将ADC转换数据从一种分辨率转换为另一种分辨率。
#define __HAL_ADC_CALC_DATA_TO_VOLTAGE(__VREFANALOG_VOLTAGE__, __ADC_DATA__, __ADC_RESOLUTION__)
 辅助宏,用于计算ADC转换数据(单位:数字值)对应的电压值(单位:毫伏)。
#define __HAL_ADC_CALC_DIFF_DATA_TO_VOLTAGE(__VREFANALOG_VOLTAGE__, __ADC_DATA__, __ADC_RESOLUTION__)
 辅助宏,用于计算差分模式下的ADC转换数据(单位:数字值)对应的电压值(单位:毫伏)。
#define __HAL_ADC_CALC_VREFANALOG_VOLTAGE(__VREFINT_ADC_DATA__, __ADC_RESOLUTION__)
 辅助宏,用于根据内部参考电压VrefInt的ADC转换数据计算模拟参考电压(Vref+)(单位:毫伏)。
#define __HAL_ADC_CALC_TEMPERATURE(__VREFANALOG_VOLTAGE__, __TEMPSENSOR_ADC_DATA__, __ADC_RESOLUTION__)
 辅助宏,用于根据内部温度传感器的ADC转换数据计算温度(单位:摄氏度)。
#define __HAL_ADC_CALC_TEMPERATURE_TYP_PARAMS(__TEMPSENSOR_TYP_AVGSLOPE__, __TEMPSENSOR_TYP_CALX_V__, __TEMPSENSOR_CALX_TEMP__, __VREFANALOG_VOLTAGE__, __TEMPSENSOR_ADC_DATA__, __ADC_RESOLUTION__)
 辅助宏,用于根据内部温度传感器的ADC转换数据计算温度(单位:摄氏度)。

宏定义文档

#define __HAL_ADC_CALC_DATA_TO_VOLTAGE (   __VREFANALOG_VOLTAGE__,
  __ADC_DATA__,
  __ADC_RESOLUTION__ 
)
值:
__LL_ADC_CALC_DATA_TO_VOLTAGE((__VREFANALOG_VOLTAGE__),\
                              (__ADC_DATA__),\
                              (__ADC_RESOLUTION__))

辅助宏,用于计算ADC转换数据(单位:数字值)对应的电压值(单位:毫伏)。

注意:
模拟参考电压(Vref+)必须从用户板环境已知,或可使用ADC测量和ADC辅助宏 __LL_ADC_CALC_VREFANALOG_VOLTAGE() 计算得出。
参数:
__VREFANALOG_VOLTAGE__模拟参考电压(单位:毫伏)
__ADC_DATA__ADC转换数据(12位分辨率)(单位:数字值)。
__ADC_RESOLUTION__此参数可为以下值之一:
返回值:
ADC转换数据等效电压值(单位:毫伏)

定义于文件 stm32g4xx_hal_adc.h 的第 2015 行。

#define __HAL_ADC_CALC_DIFF_DATA_TO_VOLTAGE (   __VREFANALOG_VOLTAGE__,
  __ADC_DATA__,
  __ADC_RESOLUTION__ 
)
值:
__LL_ADC_CALC_DIFF_DATA_TO_VOLTAGE((__VREFANALOG_VOLTAGE__),\
                                   (__ADC_DATA__),\
                                   (__ADC_RESOLUTION__))

辅助宏,用于计算差分模式下的ADC转换数据(单位:数字值)对应的电压值(单位:毫伏)。

注意:
模拟参考电压(Vref+)必须从用户板环境已知,或可使用ADC测量和ADC辅助宏 __LL_ADC_CALC_VREFANALOG_VOLTAGE() 计算得出。
参数:
__VREFANALOG_VOLTAGE__模拟参考电压(单位:毫伏)
__ADC_DATA__ADC转换数据(12位分辨率)(单位:数字值)。
__ADC_RESOLUTION__此参数可为以下值之一:
返回值:
ADC转换数据等效电压值(单位:毫伏)

定义于文件 stm32g4xx_hal_adc.h 的第 2039 行。

#define __HAL_ADC_CALC_TEMPERATURE (   __VREFANALOG_VOLTAGE__,
  __TEMPSENSOR_ADC_DATA__,
  __ADC_RESOLUTION__ 
)
值:
__LL_ADC_CALC_TEMPERATURE((__VREFANALOG_VOLTAGE__),\
                          (__TEMPSENSOR_ADC_DATA__),\
                          (__ADC_RESOLUTION__))

辅助宏,用于根据内部温度传感器的ADC转换数据计算温度(单位:摄氏度)。

注意:
计算使用生产过程中存储在系统存储器中的温度传感器校准值。
计算公式:温度 = ((TS_ADC_DATA - TS_CAL1) * (TS_CAL2_TEMP - TS_CAL1_TEMP)) / (TS_CAL2 - TS_CAL1) + TS_CAL1_TEMP,其中 TS_ADC_DATA = 温度传感器原始数据,由ADC测量 Avg_Slope = (TS_CAL2 - TS_CAL1) / (TS_CAL2_TEMP - TS_CAL1_TEMP) TS_CAL1 = 温度 TEMP_DEGC_CAL1 时的等效 TS_ADC_DATA(工厂校准) TS_CAL2 = 温度 TEMP_DEGC_CAL2 时的等效 TS_ADC_DATA(工厂校准) 注意:计算的有效性取决于校准参数的正确性(地址和数据)。要使用温度传感器数据手册中的典型值计算温度(通用值,精度低于校准值),请使用辅助宏 __LL_ADC_CALC_TEMPERATURE_TYP_PARAMS()
作为计算输入,必须定义模拟参考电压(Vref+),因为它会影响ADC LSB等效电压。
模拟参考电压(Vref+)必须从用户板环境已知,或可使用ADC测量和ADC辅助宏 __LL_ADC_CALC_VREFANALOG_VOLTAGE() 计算得出。
在此STM32系列中,温度传感器的校准数据对应12位分辨率,这是转换温度传感器电压的推荐ADC分辨率。否则,此宏会执行处理将ADC转换数据缩放到12位。
参数:
__VREFANALOG_VOLTAGE__模拟参考电压(单位:毫伏)
__TEMPSENSOR_ADC_DATA__内部温度传感器的ADC转换数据(单位:数字值)。
__ADC_RESOLUTION__测量内部温度传感器电压时的ADC分辨率。此参数可为以下值之一:
返回值:
温度(单位:摄氏度)

定义于文件 stm32g4xx_hal_adc.h 的第 2121 行。