This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

cc2530 ADC误差



协议栈:MESH1.0.0

芯片供电电压:V3.3

采集引脚:P0_0

引脚输入电压:0.501V

相关代码:

APCFG |= 1<<0 ; //p0_0口设置为adc功能
HalAdcInit(); // 初始化ADC
HalAdcSetReference ( HAL_ADC_REF_125V ); //设置基准电压

ADCdata = HalAdcRead (HAL_ADC_CHN_AIN0, HAL_ADC_RESOLUTION_12);

ADCd[0]=ADCdata/1000+48;
ADCd[1]=ADCdata%1000/100+48;
ADCd[2]=ADCdata%100/10+48;
ADCd[3]=ADCdata%10+48;
HalUARTWrite(MT_UART_DEFAULT_PORT,ADCd,4);//发送给PC

测试数据:

               分辨率                                           计算得到电压                 数字电源输入电压(万用表测量)

HAL_ADC_RESOLUTION_14                        0.466                                  0.501

HAL_ADC_RESOLUTION_12                        0.477                                  0.502

HAL_ADC_RESOLUTION_12                        0.477                                  0.502

请问一下:为什么误差会有几十mA?