ADC运行功能都正常,但测试发现采样值有点偏差:12位ADC,把采样脚接VDDS电源(3.6V),采样值应该是0fff,结果是0F87(差了100多);采样脚接地,采样值应该是0,结果是0004(基本正常);其他中间点都是按这个范围内线性变化的。导致测量的温度有误差。这可能是哪的问题?
附SCS部分代码
// 使能ADC( VDDS为参考)
adcEnableSync(ADC_REF_VDDS_REL, ADC_SAMPLE_TIME_2P7_US, ADC_TRIGGER_MANUAL);
// 传感器采样
U16 adcValue;
adcGenManualTrigger(); // 单次触发
adcReadFifo(adcValue); // 读取ADC值
output.adcValue = adcValue;
// 失能ADC
adcDisable();