在大部分的应用场景中,ADC是不可或缺的。在使用ADC时,通常的用法是VREF接上电源VDD3.3V,然后计算时就直接使用3.3V作为参考电压,但是这种用法可能会因为外部供电器的增加或波动导致3.3V电压不稳,最终计算结果产生偏差。
对于上述情况来说,比较好的方式就是使用我们的内部参考电压来计算,如下图所示:(参考F103XB手册)Vrefint的典型值是1.23V,并且给出的数值是一个范围值。由此我们也可以知道同一型号的芯片Vrefint不是一个固定的数值,不同型号的芯片范围值可能也不一样。所以,在使用内部参考电压Vrefint时,需要先求出对应的内部参考电压值。
如何求出内部参考电压呢?可以通过ADC来输出对应的内部参考电压值,如下图所示:手册定义内部参考电压Vrefint连接着ADC的通道17。
注:要求出精确的Vrefint值,最好是先保证VDD在稳定的3.3V下去计算得到。
方法如下:
可直接使用官方例程,更换对应转换通道即可;
需要注意的是,输出ADC通道16/17,需要调用函数ADC_EnableTempSensorVrefint(ADC1)进行使能;
最终输出结果如下图:
|