带有GP_ADC_ATTN3X的ADC样本

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.wsdof.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
4个职位/ 0个新职位
最后发表
MintCandy5
离线
最后看到:9个月,3个星期前
加入:2017-05-03 09:26
带有GP_ADC_ATTN3X的ADC样本

我们试图从电阻分压器(NTC热敏电阻和固定R)读取电压。我们使用P01(单端)和参考电压是3.6V。我们设置GP_ADC_ATTN3X,我们发现结果与我们假设的不一样。我们找到了数据表的图55,但是我们有一些问题。当我们设置GP_ADC_ATTN3X为1时,上面的交换机是如何连接的?如果设为1,是否可以认为P01始终并联300KOhm电阻(200K + 100K)?如果设置为0,P01是否直接连接ADC模块(没有任何并联电阻)?

附件:
设备:
PM_Dialog
离线
最后看到:3天4小时前
工作人员
加入:2018-02-08 11:03
嗨MintCandy5,

嗨MintCandy5,

能否共享ADC配置和初始化?你设置GP_ADC_ATTN3X位域为1和GP_ADC_SE为0了吗?

谢谢,PM_Dialog

MintCandy5
离线
最后看到:9个月,3个星期前
加入:2017-05-03 09:26
你好,谢谢你

你好,谢谢你的回复。我们将其作为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模块是否改变信号?

PM_Dialog
离线
最后看到:3天4小时前
工作人员
加入:2018-02-08 11:03
嗨MintCandy5,

嗨MintCandy5,

请查看SDK adc_get_vbat_sample()函数的“电池级别”示例。你能试着用SDK例子中相同的方式初始化它吗?

谢谢,PM_Dialog