我们试图从电阻分压器(NTC热敏电阻和固定R)读取电压。我们使用P01(单端)和参考电压是3.6V。我们设置GP_ADC_ATTN3X,我们发现结果与我们假设的不一样。我们找到了数据表的图55,但是我们有一些问题。当我们设置GP_ADC_ATTN3X为1时,上面的交换机是如何连接的?如果设为1,是否可以认为P01始终并联300KOhm电阻(200K + 100K)?如果设置为0,P01是否直接连接ADC模块(没有任何并联电阻)?
嗨MintCandy5,
能否共享ADC配置和初始化?你设置GP_ADC_ATTN3X位域为1和GP_ADC_SE为0了吗?
谢谢,PM_Dialog
你好,谢谢你的回复。我们将其作为SDK中的ADC示例进行采样,它对电池电压进行采样。他们如下:
temp_en(真正的);//将P07调高,作为采样电路的电源
adc_calibrate ();adc_init (GP_ADC_SE GP_ADC_SIGN ADC_REF_VOLTAGE);adc_usDelay (20);
adc_sum = 0;(我= 0;我< 2;我+ +){adc_init (GP_ADC_SE GP_ADC_SIGN ADC_REF_VOLTAGE);adc_enable_channel (ADC_CHANNEL_P01);adc_sample = adc_get_sample ();adc_usDelay (1);
adc_init(GP_ADC_SE, 0, ADC_REF_VOLTAGE);adc_enable_channel (ADC_CHANNEL_P01);adc_sample2 = adc_get_sample ();adc_usDelay (1);
Adc_sample = (adc_sample2 + Adc_sample);adc_sum + = adc_sample;}adc_sample = (uint16_t) (adc_sum / (2 * 2));
adc_disable ();temp_en(假);
附件是示波器中看到的电路和波形(P01)。海浪使我们迷惑不解。它变得更低,有四条曲线,我们认为应该保持一个稳定的水平。PS,我们取样四次。ADC模块是否改变信号?
请查看SDK adc_get_vbat_sample()函数的“电池级别”示例。你能试着用SDK例子中相同的方式初始化它吗?
嗨MintCandy5,
能否共享ADC配置和初始化?你设置GP_ADC_ATTN3X位域为1和GP_ADC_SE为0了吗?
谢谢,PM_Dialog
你好,谢谢你的回复。我们将其作为SDK中的ADC示例进行采样,它对电池电压进行采样。他们如下:
temp_en(真正的);//将P07调高,作为采样电路的电源
adc_calibrate ();
adc_init (GP_ADC_SE GP_ADC_SIGN ADC_REF_VOLTAGE);
adc_usDelay (20);
adc_sum = 0;
(我= 0;我< 2;我+ +){
adc_init (GP_ADC_SE GP_ADC_SIGN ADC_REF_VOLTAGE);
adc_enable_channel (ADC_CHANNEL_P01);
adc_sample = adc_get_sample ();
adc_usDelay (1);
adc_init(GP_ADC_SE, 0, ADC_REF_VOLTAGE);
adc_enable_channel (ADC_CHANNEL_P01);
adc_sample2 = adc_get_sample ();
adc_usDelay (1);
Adc_sample = (adc_sample2 + Adc_sample);
adc_sum + = adc_sample;
}
adc_sample = (uint16_t) (adc_sum / (2 * 2));
adc_disable ();
temp_en(假);
附件是示波器中看到的电路和波形(P01)。海浪使我们迷惑不解。它变得更低,有四条曲线,我们认为应该保持一个稳定的水平。PS,我们取样四次。ADC模块是否改变信号?
嗨MintCandy5,
请查看SDK adc_get_vbat_sample()函数的“电池级别”示例。你能试着用SDK例子中相同的方式初始化它吗?
谢谢,PM_Dialog