STM32L431 ADC采集电压有偏差

在移植原子STM32L431的ADC实验时,发现AD读出来的电压值老是会有0.1V的偏差,最后找到原因是ADC底层库并没有执行自校准,而且原子程序里也并没有主动

在移植原子STM32L431的ADC实验时,发现AD读出来的电压值老是会有0.1V的偏差,最后找到原因是ADC底层库并没有执行自校准,而且原子程序里也并没有主动调用自校准函数。加上图中标出的自校准函数误差后,误差明显降低,大概在10-20mv左右。
在这里插入图片描述
当误差降低后,因为VREF接的是3.3V,所以当ADC采集的电压低于3.3V时,基本保持在3.3V.
鉴于此,使用了芯片内部的参考电压VREFINT。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
根据上述代码,可以读取到3.3V以下的电压。