当我们采用内部基准电压时,首先应了解下内部基准电压的用法,根据STM32L476参考手册我们得知:
解析:
VDDA:实际电压参考值,由上式计算得出,用来计算我们需要的采样电压值,下边会用到;
VREFINT_CAL:内部电压参考校准值,每个芯片都不一样,例如我的STM32L476则存在0x1FFF75AA-----0x1FFF75AB中,我们可以读出来:
#define VREFINT_CAL (uint16_t)(*(__I uint16_t *)(0x1FFF75AA))
在数据手册中我们可以查到校准值的存储位置,如下图:
VERFINT_DATA:ADC转换后的实际VREFINT输出值,我们可以通过ADC的通道17读出来,该值在1.2V左右:
到这里我们就可以得到实时的参考电压值VDDAÿ