协议栈: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?
user5032796:
更正一下:是几十mV。
user5032796:
回复 YiKai Chen:
那只能这样了,感谢您!
user5032796:
回复 Viki Shi:
尝试一下。谢谢您了!