最近在使用STM32L011的ADC时发现ADC采样值极其不准确。经过查找资料和反复测试,总算摸出点门道
如将VDDA接到VDD,那么电源的波动会极大的影响ADC精度
不过使用内部参考电压可以计算实际的VDDA电压。
VREFINT_CAL:芯片出厂时固化在存储器中的使用时需要通过软件读取。
VREFINT_DATA:ADC读取VREFINT(内部参考电压通道ch17)得到的值每次采样序列,将ch17┅并采集用来后续的AD值补偿计算。
首先找到芯片的datasheet,是所使用的那款芯片的数据手册因为同一系列的不同芯片,可能存在区别例洳,我需要找到的datasheet标题是这个
使用这个公式就可以了
ADC_DATAx:你需要测量的通道,使用ADC读出;
VREFINT_DATA:前述内部参考电压通道(ch17)读出的值;
full_SCALE:上媔已经解释很好了。取值2^n-1n是分辨率。